programing

Git 오류: "올바른 액세스 권한이 있고 리포지토리가 있는지 확인하십시오."

bestprogram 2023. 5. 12. 22:48

Git 오류: "올바른 액세스 권한이 있고 리포지토리가 있는지 확인하십시오."

나는 윈도우에서 거북이 깃을 사용하고 있습니다.표준 Windows 탐색기의 상황에 맞는 메뉴에서 복제하려고 하면 다음 오류가 표시됩니다.

올바른 액세스 권한이 있고 리포지토리가 있는지 확인하십시오.

보다 정확하게는 터미널의 스냅샷은 다음과 같습니다.

--progress "git.exe 파일 --progress -v "git@aRobotdev:\git\AlfaRobot.git" "C:\"라는 단어를 사용합니다

C:' 파일로 :\작업\알파로봇'...
권한이 거부되었습니다. 다시 시도하십시오.
권한이 거부되었습니다. 다시 시도하십시오.
권한이 거부되었습니다(공개 키, 암호).
치명적: 원격 리포지토리에서 읽을 수 없습니다.

권한이 하십시오.
저장소가 존재합니다.

종료되지 @ 10 git는 @2145ms(2014.09.10:36:58).

깃이 제대로 작동하려면 어떻게 해야 합니까?

Git URL이 변경되었을 수 있습니다.다음 명령을 사용하여 로컬 디렉터리의 URL을 변경합니다.

https 프로토콜의 경우

git remote set-url origin https://github.com/username/repository.git

SSH 프로토콜의 경우

git remote set-url origin git@github.com:username/repository.git

이 문제에는 여러 가지 원인이 있을 수 있습니다.

  1. SSH ID에 문제가 있는 경우 여기에서 kar-m18의 답변을 참조하십시오.
  2. 호스팅 서버에 ssh 키가 추가되지 않은 경우 여기에서 lovekush-vishwakarma의 답변을 참조하십시오.

SSH-에이전트에 문제가 있을 수 있습니다. SSH 키가 SSH-에이전트에 추가되지 않았습니다.단말기를 사용하여 다음 단계를 적용해야 합니다.

  1. $ eval "$(ssh-agent -s)"

    에이전트 pid 5867

  2. $ ssh-add <private-ssh-key-file-name>가 아님: id_"("")).pub)

    /home/you/.sssh/id_rsa: [] 추가된 ID: /home/you/.sssh/id_rsa(/home/you/.sssh/id_rsa)에 대한 암호 구문 입력

GIT에서 복제를 가져오는 동안 SSH 대신 HTTPS를 사용해 보십시오. 복제를 위해 이 URL을 사용하십시오. 분기 복제를 위해 Gitbase, Android Studio 또는 기타 도구를 사용할 수 있습니다.여기에 이미지 설명 입력

이전에 작동하다가 갑자기 작동을 멈춘 경우:

이 문제는 때때로 발생할 수 있습니다.ssh-agent는 재부팅 후에도 유지되지 않습니다.당신은 확인해야 합니다.ssh-agent키가 추가되었습니다.

ssh-add -l -E md5

다음과 같은 출력을 얻을 수 있습니다.

The agent has no identities.

라는 뜻입니다.ssh-agent키를 분실했습니다.이 경우 ID 키를 다시 추가하기만 하면 됩니다.다음과 같은 것:

ssh-add ~/.ssh/git_rsa

이제 오류가 사라져야 합니다!

저에게 그것은 기계에 SSH 키가 없기 때문이었습니다.SSH 키를 로컬로 확인합니다.

$ cat ~/.ssh/id_rsa.pub

SSH 키입니다.저장소의 SSH 키에 추가합니다.
에서 Ingitlab으로 합니다.

프로필 설정 -> SSH 키

키를 추가합니다.

Github은 이제 URL 체계를 사용합니다.

git remote set-url origin https://github.com/username/repository.git

  1. 명령에 따라 실행합니다.
open ~/.ssh

그런 다음 "known_message" 파일을 수동으로 삭제합니다.

  1. 아래 명령으로 실행, 새 ssh-key 생성
ssh-keygen -t rsa -C "your@email.com"

그러면 두 개의 파일: id_dll 및 id_dll.dll이 .dll 디렉토리에 생성되고 id_dll.dll의 내용을 복사합니다.

  1. login github --> 설정 --> SSH 및 GPC 키 --> SSH 키 추가 --> 복사한 내용을 키에 붙여넣습니다.

  2. 명령에 따라 실행합니다.

ssh -T git@github.com

좋아요, 됩니다.

공유 컴퓨터에 있는 경우 자신의 암호나 암호 없는 개인 키를 사용하면 오버킬이 발생할 수 있습니다.더 안전한 옵션은 액세스 토큰입니다.

  1. 설정, 개발자 설정, 개인 액세스 토큰으로 이동합니다.
  2. 새 토큰을 생성합니다.
  3. 토큰의 용도를 기록합니다.
  4. 보고서 액세스 권한을 부여합니다.
  5. 레포 복제:
$ git clone https://<token>@github.com/<user>/<repo>.git

이미 repo를 복제한 경우 원격 설정을 수정할 수 있습니다.

$ git remote set-url origin https://<token>@github.com/<user>/<repo>.git
$ git pull
Already up to date.

. SSH 파일입니다.git@arobotdev...SSH 키가 서버에 제대로 설정되지 않았습니다.여기에는 여러 가지 이유가 있습니다.

  1. 공용 키가 user git의 authorized_keys 파일에 저장되지 않을 수 있음
  2. 1이 참이 아닐 경우 개인 키는 HOMEDIR의 .ssh/ 폴더에 저장되지 않습니다.
  3. 권한이 올바르게 설정되지 않았습니다.

의 세 사실이 아니라면, 한 결론은 것입니다.git@arobotdev:AlfaRobot.gitAlfaRobot.git가 git 사용자의 HOMEDIR에 있고 git 사용자의 HOMEDIR에 있는 git라는 폴더 안에 있지 않다고 가정합니다.

이 문제가 발생하여 시스템에 잘못된 DNS 주소가 있음을 발견했습니다.네트워크를 확인하고 다음을 사용하여 테스트합니다.

ssh -vvv git@bitbucket.org

그리고 출력 메시지를 읽습니다."비트 버킷에 연결하는 데 git org를 사용할 수 있습니다."가 표시되면 모든 것이 정상입니다.

Ubuntu를 사용하고 있습니다.

답변을 내 키를 하고, 많은답을읽후, 이내미계정고에에했가추, 그내여사테스하용트없, 다수니을어문해습것할결를제도것그중들느를도라더시도를하은가키,,▁it▁test▁▁of▁to,▁problem▁none▁▁the▁them없▁i▁if▁reading▁solve▁many수다니습▁key▁even▁can할it▁account해결▁g▁of▁ssh▁added▁try▁my를▁answers문많▁and제▁already그도것어은중느it들,그여것을,에스하용후ssh -T git@gitlab.com그리고 그것은 말했습니다.Welcome <my username>하지만 계속해서 제게 접근 권한이 없다고 말했습니다.그 를 찾았습니다.

당신그않렇지다면이통보▁you▁not'않▁normally▁ifre다면지렇.root 용자사사실합를여하행니다야해용자사용▁with합다로 실행해야 합니다.sudo모든 git 명령에 대해.

을 할 때sudo git clone <SSH....>(예를 들어).그것은 아래에서 실행될 것입니다.root할 때 를 권한, 하만실 SSH 로실고에 합니다.~/.ssh/id_rsa 경로 ▁the다▁resolves▁path▁it/home/username/.ssh/id_rsa 그고할을 할 때.sudo git clone ... 키를다에서 ./root/.ssh/id_rsa

내가 확신할 수 있는 이유.Git에서 SSH 키를 찾는 위치를 확인합니다.다음 명령을 실행합니다.sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>SSH 키를 찾는 위치가 표시됩니다.

그래서 제가 제안하는 해결책은 다음과 같습니다.

SSH 키를 다시 만드는 중( 지침에 따름), 그러나 실행sudo su첫 번째 단계에서, 그러면 당신은 괜찮을 것입니다.

  1. 먼저 인터넷 연결을 확인해야 합니다.하지만, 인터넷 문제는 대부분 레포에 접근할 수 없다고 말할 것입니다.

  2. 로컬 및 github 모두에 ssh를 설정했는지 확인합니다.방법 보기

  3. ssh git remote를 사용하고 있는지 확인합니다. 이 명령어 https를 .git remote set-url origin git@github.com:your-username/your-repo-name.git

  4. ssh를 올바르게 설정했지만 작동이 중지된 경우 다음을 수행합니다.

    • eval "$(ssh-agent -s)"
    • ssh-add

    여전히 문제가 발생하는 경우 github에서 ssh를 삭제하지 않았는지 확인합니다.할 수 .github의 ssh는 ssh와 동일합니다.사용하다pbcopy < ~/.ssh/id_rsa.pub합니다.

항상 ssh를 사용하는 것을 추천합니다.제가 함께 일했던 대부분의 팀에서는 ssh를 사용하지 않는 한 repo(대부분 비공개)에 액세스할 수 없습니다.초보자의 경우 더 어려워 보일 수 있지만 나중에는 훨씬 쉽고 안전하다는 것을 알게 될 것입니다.

github >> settings >> ssh keys 페이지에서 rsa.pub(즉, 생성된 공개 키)를 추가해야 합니다.리포지토리 설정 >> 배포 키에 이 공용 키를 추가하지 않았는지 확인합니다.그렇다면 여기서 항목을 제거하고 언급된 첫 번째 위치에 추가합니다.

pub-private 키에 대한 자세한 설정.

지금부터 효과가 있을 것입니다!

가) 잘못 구성되었습니다.~/.ssh/config파일이 이 오류를 트리거할 수 있습니다.

GitHub의 테스트 명령은 기본적으로 솔루션을 출력해 주었습니다.

ssh -T git@github.com

/Users/myUser/.ssh/config: 라인 13: 잘못된 구성 옵션: 의미가 없는 것

을 당신의 이행에추다니에 하세요..get/config파일(@kovshenin 답변 Git Pull: Change Authentication 덕분):

[credential]
    helper = wincred

VPN을 통해 Git 저장소에 연결하는 경우에도 이 문제가 발생할 수 있습니다.조직의 리소스에 액세스하는 데 사용되는 VPN에 연결되어 있는지 확인합니다.

gitlab에 프로젝트를 업로드하는 중에 이 오류가 발생합니다.나는 git에서 복제한 것이 아니라 프로젝트를 업로드했습니다.gitlab에 코드를 푸시하기 위해 ssh 또는 https를 사용하는 두 가지 방법이 있습니다.만약 당신이 https를 사용한다면 당신은 gitlab 계정의 사용자 이름과 비밀번호를 입력해야 합니다.당신의 코드를 git에 푸시하기 위해 당신은 다음의 것을 사용할 수 있습니다.

처음으로 Git에 푸시하기

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "email@example.com"

-C 매개 변수는 선택 사항이며, 키 끝에 설명을 제공하여 여러 개인 경우 다른 매개 변수와 구분할 수 있습니다.이렇게 하면 id_rsa(개인 키)와 id_rsa.pub(공개 키)이 생성됩니다.우리는 공개 키를 돌려놓고 개인 키를 보관합니다. 음, 개인 키입니다.Gitlab의 사용자 설정은 공개 키를 계정추가하여 최종적으로 푸시할 수 있는 위치입니다.

프로젝트 위치(디렉토리)에서 아래 명령을 사용합니다.

git init

현재 디렉터리를 Git 저장소로 변환합니다.이렇게 하면 .git 하위 디렉터리가 현재 디렉터리에 추가되고 프로젝트의 수정사항 기록을 시작할 수 있습니다.

https 경로를 사용하여 푸시

git push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

SSH 경로를 사용하여 푸시

git push --set-upstream git@gitlab.com:Account_User_Name/Your_project_Name.git master

set-proxy: get to origin 경로를 알려줍니다.Git가 이전에 현재 분기를 푸시한 경우 원점이 어디인지 기억합니다.

마스터: 초기화할 때 푸시할 분기 이름입니다.

나는 단지 여기서 이 설명을 따랐습니다.

여기에 이미지 설명 입력

평가를 해봤는데 효과가 있어요.

그리고 나서 저는 ssh -T git@bitbucket.org 를 시도했습니다.

그런 다음 다시 복제합니다.이제 모든 것이 순조롭게 진행됩니다.

이것이 제가 이 문제를 해결하는 방법입니다.Win7/10에서 Babun(minty.exe)을 사용하고 있었습니다.위에서 언급한 많은 해결책을 시도해 보았지만 아무 것도 작동하지 않았습니다.제가 SSH 요원을 잘못 썼다는 걸 깨달았어요그래서 나는 달립니다.echo $GIT_SSH알아보기 위해, 그것은 로 가는 길을 보여줍니다.Plink.exe제가 실제로 기대했던 것은 OpenSSH입니다.

그래서, 저는 다음의 원라이너를 추가합니다.~/.zshrc

1:할 수 . 1: 바분에서 직접 실행할 수도 있습니다.
2:은 "bash 2: bash"입니다..bashrc

export GIT_SSH=$(which ssh)

그리고 효과가 있습니다!

ssh URL 대신 https 오리진 사용

예:

git remote add origin  https://gitlab.com/user/folder.git

다음 단계를 수행할 수 있습니다.

  1. 기존 키 a.ls -al ~/.ssh를 확인

  2. 존재하지 않는 경우 키 만들기 - 아래 텍스트를 GitHub 이메일 주소(a. ssh-keygen-ted25519 -C "your_email@example.com " b)에 대체하여 붙여넣습니다.키를 저장할 파일을 입력하라는 메시지가 표시되면 Enter 키를 누릅니다.기본 파일 위치를 사용할 수 있습니다.프롬프트에 보안 암호를 입력합니다.

  3. SSH 에이전트에 SSH 키 추가 - SSH 에이전트를 실행하고 키를 추가합니다.

  4. 평가하다ssh-agent -s

  5. ssh-add ~/.ssh/id_ed25519

  6. Git 계정에 키 추가 중 - 키를 풀업하여 Github 계정에 추가합니다.

  7. cat ~/.cat/id_ed25519.185

  8. Git 계정으로 이동하여 SSH 키 추가

여러 번 시도해 본 결과 효과가 없었습니다.효과가 .git remote set-r https://<Username>@github.com/<Org>/<Repo>.git

그런 다음 다음을 사용하여 확인할 수 있습니다.git remote -v

Mac에서는 Keychain에 Github 자격 증명이 있어야 합니다.다음 SO 질문을 참조하십시오. 키 체인 MacOS에서 github을 찾을 수 없습니다.

SSH 대신 https를 사용합니다.복제 URL을 복사할 프로젝트 홈 페이지에서 https 옵션을 선택합니다.

저는 정상적으로 작동하지 않는 연결을 끊은 후 회사 VPN에 문제가 있었습니다.

하려면 명령을 합니다. 과 연결 확인ssh -vvvT git@github.com

유사한 문제:

내가 주었다passphrase 제를한경우사경우를 사용하여 Git을 했을 때.SSH URL잊어버림
VS CodeWindows 10

아래 문제 해결:

1. 에서을 실행합니다.CMD

setx SSH_ASKPASS "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass"
setx DISPLAY needs-to-be-defined

2. CMD & VS 코드 종료

3. VS 코드 다시 열기

4를 입력할 수 . VS Code는 이제 우리가 들어갈 수 있는 팝업 대화상자를 보여줍니다.passpharse

위의 명령은 Windows OS용이며, Linux/MAC에도 유사한 지침이 적용됩니다.

Chromebook의 Linux 터미널 솔루션

github에서 repo를 복제할 때 아래 오류 프롬프트가 표시되어 이 문제가 발생했습니다.

kex_exchange_identification: Connection closed by remote host Connection closed by 28.0.3.132 port 22

VPN을 꺼서 해결했습니다.

또한, 저는 리눅스 가상 머신이 아닌 크롬북의 설정에 의해 SSH가 제어되는 크롬북에서 리눅스를 사용하고 있었습니다.그래서 SSH 에이전트에 개인 키를 명령으로 수동으로 추가해야 합니다.

eval "$(ssh-agent -s)" # start the ssh-agent
ssh-add ~/.ssh/id_rsa # add the secret key to the agent (not .pub file)

나는 이 줄을 나의 안에 추가할 것입니다.~/.bashrc

이상하게도 저는 많은 저장소 중 하나에서만 이 오류를 받았습니다.

가 Windows용 GitHub에서 을 새로 한 후 했습니다.~/.ssh/github_rsa그리고.~/.ssh/github_rsa.pub새로운 GitHub for Win은 그것을 기대하는 반면에.~/.ssh/id_rsa솔루션은 기존의 개인 키와 공용 키의 이름만 변경하는 것이었습니다.

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

그런 다음 문제 없이 다시 repo에 액세스할 수 있습니다.

아주 흔한 실수는 제가 저지른 것입니다. 명령어를 했습니다.xclip -sel clip < ~/.ssh/id_rsa.pub그러나 github 키 입력 상자에 붙여넣는 동안 백스페이스를 사용하여 마지막 줄을 제거했습니다. 이것은 실제로 공용 키를 변경했습니다.

따라서 마지막 줄을 제거하지 않고 항상 ssh 공용 키를 그대로 복사하여 붙여넣습니다.

내 경우:Windows를 사용하고 있으며 사용자 계정이 하나 이상 있습니다.나는 같은 오류를 받고 있었고 수정 사항은 관리자 권한으로 gitbash를 시작하는 것이었습니다.

unbuntu/linux를 사용하는 경우 다음을 시도합니다.

git config --global --unset credential.helper

이제 다음 단계를 수행하여 Github 계정에서 개인 액세스 토큰을 생성합니다.

>>GITHUB ACCOUNT 
>> Developer setting 
>> Personal Access Token 
>>Genrate new one with all acess & use it as your password !!

윈도우 사용자 주의사항 아래 링크:-

https://www.youtube.com/watch?v=fkKkojKYZ8U

언급URL : https://stackoverflow.com/questions/25927914/git-error-please-make-sure-you-have-the-correct-access-rights-and-the-reposito