source

Git: 권한 거부(공개 키) 치명적 - 원격 리포지토리에서 읽을 수 없습니다.Git 저장소를 복제하는 동안

lovecheck 2023. 7. 16. 13:40
반응형

Git: 권한 거부(공개 키) 치명적 - 원격 리포지토리에서 읽을 수 없습니다.Git 저장소를 복제하는 동안

Git 저장소를 복제할 수 없으며 다음 오류가 발생합니다.

krishna.soni@KRISHNACHANDRAS /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

비트 버킷, Windows 및 "fatal: could read password for"를 읽었지만 여전히 문제가 있습니다.

더 진행했는데 지금 이 오류가 발생하고 있습니다.

sh.exe": chown: command not found

krishna.soni@KRISHNACHANDRAS /c
$ git clone ssh://krishna.sonipayu.in@stage.payupaisa.
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

> krishna.soni@KRISHNACHANDRAS /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

저장소가 존재합니다.

저장소를 가져오려고 할 뿐 프로토콜(ssh / https)에 관심이 없는 사용자는 ssh 대신 https를 사용하는 것이 좋습니다(지원되는 경우).

예를 들어 다음과 같이 사용합니다.

git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

대신에

git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

GitHub은 최신 보안 표준을 준수하지 않기 때문에 개인 저장소에 대한 암호 인증(https 로그인)을 사용하지 않습니다. 개인 액세스 토큰을 사용하십시오.

또한 2022년 3월 1일 이후 비트버킷 사용자는 더 이상 Gitover https와 함께 아틀라스 계정 암호를 사용할 수 없으며 대신 비트버킷암호를 사용해야 합니다.

SSH를 생성하여 비트버킷 계정 또는 어디에서나 추가한 후에도 액세스와 관련된 문제가 발생할 경우 GitBash, OSX 또는 Linux의 터미널에서 다음을 수행해야 합니다.

# Lists already added identities (‘ssh keys’)
ssh-add -l

다음 목록에합니다.identity본명 포함):

# Add a new identity
ssh-add ~/.ssh/identity

이것은 저에게 효과가 있었습니다.

Windows 7(윈도우 7)의 문제가 아니라 권한 문제처럼 보입니다.

. - SSH 키는 SSH 키입니다.Permission denied (publickey).

에게 "SSH 추가"를 요청해야 .ssh

작업 방법에 대한 정보: ssh저장 실패

는 깃허브와 같은 문제에 직면했습니다.여기 그것을 해결하는 방법이 있습니다!

  1. 다음 설명에 따라 컴퓨터에 SSH 키 생성: SSH 키 생성.
  2. GitHub 계정인 GitHub Login에 로그인합니다.
  3. 계정에서 새로 생성된 SSH 키: 내 계정 SSH 키를 추가합니다.
  4. 시도해 .git clone그 계획

Mac에서 이 문제가 발생했습니다. Git 저장소에 액세스하기 위해 SSH를 올바르게 설정했지만 다시 시작한 후(Mac이 교착 상태에 빠진 경우도 있음) 모든 자격 증명이 제거되었습니다.분명히 어떤 이유로 pub 키가 644로 설정되어 있어서 키 체인에서 제거되었습니다.읽기:

  • chmod 600
  • ssh-add ~/.ssh/[your private key]ID가 추가되었음을 표시해야 합니다.당신이 원하는 키 파일은 .pub 확장자가 없는 것입니다.
  • ssh-add -l 추가된 를 표시해야 .

이 있습니다 - 를 다운로드한 후( 설치하지 제: 분히는 MacOS 키를제경그 - High Sierra ),ssh-add

저장소에서 복제를 원할 때 "권한 거부(공개 키) 치명적:원격 리포지토리에서 읽을 수 없습니다."제 경우 해결책은 복제 전에 sudo를 사용하지 않는 입니다.

저도 같은 문제에 직면했습니다.저는 다음과 같은 일을 했고 그것은 저에게 효과가 있었습니다.

  1. Windows의 GIT GUI 클라이언트에서 키를 생성합니다.이 키를 클립보드에 복사합니다.
  2. 의 계좌를 하세요.bitBucket/Git 웹 사이트를 방문하고 이 키를 프로필에 추가합니다.이렇게 하면 서버는 사용자가 합법적인 시스템에서 액세스하는 합법적인 사용자임을 알 수 있습니다.
  3. 바로 그겁니다.이후 모든 푸시 명령이 저에게 적용되었습니다.

저도 비슷한 문제가 있었습니다.저는 ssh 키를 변경하고 다시 시작하여 다른 모든 'n' 솔루션을 시도했습니다.하지만 저에게 실제 문제는 우리의 gitlab 기본 프로토콜이 ssh에서 https로 변경되었다는 것이었습니다.

원격 URL 확인

git remote -v

원격 URL 변경

git remote set-url origin https://URL

Github(또는 Bitbucket)이 서버에서 SSH 키를 찾을 수 없습니다.

계정 설정에 키를 추가하기만 하면 됩니다.

새 공용 SSH 키를 생성하여 비트 버킷 또는 github에 삽입한 경우

도움이 되지 않습니다. PC를 다시 시작해 보십시오.도움이 됐어요!!

Fedora 33+ 및 Bitbucket 사용자의 경우:

이 문제는 해시 알고리즘이 오래되었기 때문에 발생합니다.비트 버킷에 언급된 것처럼 두 가지 옵션이 있습니다.

옵션 1:

~/.ssh/config ( 그냥 file. (파일이 존재하지 않으면 생성합니다.

Host bitbucket.org
  PubkeyAcceptedKeyTypes +ssh-rsa

옵션 2:

보다 안전한 알고리즘을 사용합니다.

ssh-keygen -t ed25519 -C "your_email@example.com"

SSH를 하여 새 .ssh-keygen -t rsa.

macOS/Linux(Ubuntu)에서:

인증하려면 사용자 설정 내에서 SSH 키 쌍의 공용 부분을 비트 버킷에 추가해야 합니다.사용자 설정 --> SSH 키

디렉터리에 . 일반적으로 ~/.ssh 디렉터리에 .id_rsa.pub주의하세요. .pubPublic(공용) 파일 이름의 일부입니다.만약 당신이 그것을 아직 가지고 있지 않다면 그것은 당신이 그것을 생성하는 데 도움이 될 것입니다.

아직 완료되지 않았습니다...

원격 호스트에서 사용할 키를 시스템에 알려야 하므로 이 행을 ~/.ssh/config 파일에 추가합니다.

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

에▁where디PRIVATE_KEY_FILE_NAME쌍의 SSH 키 개 부 이 입 름 니 다 분 인 이 같 다 습 니 다과음기이은름본로으적반지 일우하용은않을경사름이의쌍▁is▁:다같▁name▁of습니과▁key▁the▁is▁pair▁part다▁ssh▁its입니다.id_rsa에는 경대체우로 대체합니다.PRIVATE_KEY_FILE_NAME에 이닌아로id_rsa에 (으)가 .) .pub확장)

제가 오류를...

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

...노트북이 잘못된 Windows 10 업데이트로 인해 고장이 발생하여 공장 설정으로 돌아간 후 Git Bash 프롬프트에서 Bitbucket에 연락하려고 했습니다.백업에서 모든 SSH 파일을 복원했습니다.

오류의 원인은 컴퓨터 재구축 후 Windows 계정 이름이 일치하지 않았기 때문인 것으로 밝혀졌습니다.공용 키 파일이 다음과 같이id_rsa.pub 계정 이름으로 구성된 수 로 끝납니다.@기호를 누른 다음 컴퓨터 이름을 누릅니다.

처음에 컴퓨터를 설정할 때 중간 이니셜을 포함하여 Windows 계정 이름을 만들었지만 컴퓨터가 공장 설정으로 재설정되었을 때 새로운 DevOps 사용자가 중간 이니셜 없이 내 계정 이름을 만들었습니다.

문제를 저는 키 했습니다.id_rsa.pub그리고 마지막에 제 이름의 중간 이니셜을 삭제했습니다.저는 같은 컴퓨터 이름을 고수했기 때문에 괜찮았습니다.파일 내용을 Windows 클립보드에 복사했습니다.그런 다음 비트버킷에 로그인하고, 아바타 아래의 비트버킷 설정으로 이동한 다음, 새 내용을 붙여넣은 새 공용 키를 추가했습니다.

Git Bash 프롬프트에서 명령어를 입력하여 작동하는 것을 확인했습니다.

ssh -T git@bitbucket.org

제가 서명했다는 메시지를 받았습니다.

유용한 스레드이고 저는 테이블에 새로운 것을 많이 가져오지 않습니다.제가 취한 조치도 Maxime이 유용하게 지적하는 설명의 일부이지만 일부는 간과할 수도 있습니다.SSH 키를 SSH-에이전트에 추가하는 섹션입니다.

이미 SSH 키를 생성했지만 재부팅 후 자신의 리포지토리 중 하나를 복제할 수 없습니다.

복제하려면 ssh-agent를 시작하고 이 에이전트에 개인 키를 추가해야 했습니다.

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

복제 중인 폴더의 사용 권한을 변경한 후 다음 작업이 수행되었습니다.

sudo chown -R ubuntu:ubuntu /var/projects

실행 중에 동일한 문제가 발생했습니다.git clone윈도우즈 명령줄에서 명령을 실행합니다.그러나 Git Bash에서 명령이 성공적으로 실행됩니다.

개인 키 체인에 SSH 키를 추가할 수 있습니다.그것은 나에게 효과가 있었다.

ssh-add -K ~/.ssh/[your-private-key]

모든 것이 실패할 경우, 저와 마찬가지로 GIT 제거, 다시 설치합니다.어떤 이유에서인지 이것은 고쳐집니다.

추신.

  1. SSH 공용 키에서 새 키 생성 및 업데이트를 시도했습니다.
  2. 또한 모든 키를 삭제하고 새 키를 생성하려고 했습니다.
  3. 그리고 아니요, 제 .gitconfig에는 아무 문제가 없습니다.

에 대비하여.hub 도구cli 파일:

  • git config --global hub.protocol https
  • git remote add OOPS https://github.com/isomorphisms/go.git&&git push OOPS 수정할 수 .

는 이오는발니다합생서음에와 합니다.hub 기본값 사용hub.protocolgit-config 값.저장소를 다음으로 설정합니다.

git://github.com/schacon/ticgit.git

깃허브가 실제로 받아들이는 것, 즉https://github.com/schacon/ticgit.git.


LESS=+/"HTTPS instead" man hub위의 "장기 수정" 명령의 출처를 설명합니다.

복제하는 동안 비슷한 문제가 발생했습니다 [내 오류: 권한 거부(공개 키)].치명적: 원격 리포지토리에서 읽을 수 없습니다.올바른 액세스 권한을 가지고 있는지 확인하십시오.등 ]

제 경우에는 bitBucket/UBUNTU14.04를 사용하고 있었지만, 이미 이전에 생성한 키 파일 세트가 있었고 파일 이름을 변경했습니다.표준 id_rsa & id_rsa.pub 이름 형식으로 파일을 복사했습니다.그런 다음 문제 없이 명령을 다시 실행했습니다.

OBTW: HTTP 스타일 클론을 사용하여 암호 프롬프트를 사용할 수도 있었습니다.

공개 소스 프로젝트를 복제하여 꺼내기 요청을 제출하려는 경우:

오픈 소스 프로젝트를 복제하여 풀 요청을 제출하고 싶었습니다.문제는 제가 프로젝트의 소유자로부터 허가를 받지 못했다는 것입니다.상관없이, 제 의도는 PR을 제출하는 것이었기 때문에 실행 가능한 대안이 있습니다.

내 솔루션:

  1. 포크 저장소

Fork Repo

  1. 그런 다음 분기된 저장소에서 복제합니다.Clone from forked Repo

  2. 기능을 수정한 다음 꺼내기 요청을 제출합니다.

원격 오리진 제거

git 원격 제거 오리진

HTTP 원격 오리진 추가

리눅스에서도 비슷한 문제가 있었습니다.github 서버에 로그인하여 배포 키를 생성하여 문제를 해결했습니다.저장소 설정에 있습니다.그런 다음 공용 키(일반적으로 ~/.ssh/id_rsa.pub에 있지만 구성이 다를 수 있음)를 복사하여 붙여넣었습니다.이 키에 쓰기 권한을 부여하는 확인란이 있습니다.클릭합니다(Git을 사용하여 배포하는 경우에만 사용하는 경우가 아니라면 클릭하지 마십시오.

저도 같은 오류가 있었습니다.제 해결책은 SSH 에이전트가 원격 SSH 키와 동기화되지 않았기 때문에 로그아웃하고 다시 로그인하는 것이었습니다.

다른 답변이 자신의 상황에 적용되지 않는 것처럼 보일 경우를 대비하여 여기에 이 정보를 추가합니다.

저는 gitlab에 ssh를 설정하는 동안 같은 문제에 직면했습니다. "SSH"에 대한 ssh를 가지고 .github그리고 저는 그것을 덮어쓸 수 없었습니다.저에게 효과가 있었던 단계는 다음과 같습니다.

  1. 목록에 합니다.ssh-add /path/to/new/id_rsa.
  2. 이름이 지정된 파일 만들기config~/.ssh/ 용사를 했습니다. 사용했습니다.vi ~/.ssh/config/.
  3. 새로 만든 파일에 추가

# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile /path/to/new/id_rsa

  1. 저장하고 종료합니다.

터미널을 다시 시작하고 푸시를 시도하면 작동합니다.

솔루션:복제하거나 cat ~/.ssh/id_rsa.pub에서 GitHub, 설정, SSH 및 GPG 키, SSH 키 붙여넣기 키로 이동합니다.

이 오류 메시지에는 여러 가지 이유가 있습니다.이미 SSH 등으로 완전히 작동하는 저장소와 함께 다른 저장소를 로컬로 설정하고 동일한 서버에 연결하려고 할 때 동일한 오류가 발생했습니다.답을 찾을 수는 없었지만, 제가 알아냈습니다.그래서 올립니다.누군가를 돕길 바랍니다.

git remote add origin git@git.ourserver.com:teamalpha/repositorytwo.git

만약 이 대답들 중 아무 것도 도움이 되지 않는다면 그리고.

  1. Windows를 사용하고 있습니다.
  2. Putty로 키를 생성하거나 PC에 Putty를 설치한 경우
  3. CMD 또는 PowerShell을 사용하여 키를 생성합니다.

해라

  1. 키 삭제
  2. 창에서 Git Bash를 검색한 다음 Git Bash 명령줄을 사용하여 새 키 생성
  3. 온라인 레포에 공개 키 추가

그런 다음 git clone을 찾은 다음 yes를 입력하여 확인합니다. 복제를 시작해야 합니다.

새 SSH 생성 SSH 에이전트에 추가의 자세한 단계를 수행했습니다.

Git for 윈도우즈에서 ssh-agent를 자동으로 시작합니다.

경우에는 경에는우내는▁in.~/.profile파일이 Windows에 없습니다.저는 그것을 만들어야 했고, 위 링크에 제공된 스크립트를 추가했습니다.

언급URL : https://stackoverflow.com/questions/21255438/git-permission-denied-publickey-fatal-could-not-read-from-remote-repository

반응형