[github] ssh-key를 사용하여 비밀번호없이 GitHub로 푸시

비밀번호없이 SSH 키 페어를 생성하고 공개 키를 GitHub에 추가했습니다.

연결

user@dev:/var/www/project# ssh -T git@github.com
Hi User! You've successfully authenticated, but GitHub does not provide shell access.

성공했고 키 이름을 바꾸면 실패합니다.

그러나 변경 사항을 적용하려고 할 때 여전히 사용자 이름과 비밀번호 조합을 묻습니다.

비밀번호없이 푸시 할 수있는 방법이 있습니까?



답변

사용자 이름 과 비밀번호 를 요청하는 경우 오리진 원격은 SSH URL이 아닌 HTTPS URL을 가리 킵니다.

ssh로 변경하십시오.

예를 들어 Git과 같은 GitHub 프로젝트에는 HTTPS URL이 있습니다.

https://github.com/<Username>/<Project>.git

그리고 SSH 하나 :

git@github.com:<Username>/<Project>.git

넌 할 수있어:

git remote set-url origin git@github.com:<Username>/<Project>.git

URL을 변경합니다.


답변

또한 요점의 경우 사용자 이름을 생략해야합니다

git remote set-url origin git@gist.github.com:<Project code>


답변

실제로 SSH URL을 사용하고 있지만 git push 할 때 여전히 사용자 이름과 비밀번호를 묻는 경우 :

git remote set-url origin git@github.com:<Username>/<Project>.git

다음을 사용하여 문제 해결을 시도해야합니다.

ssh -vT git@github.com

다음은 샘플 출력입니다.

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

실제로 GitHub에 공개 키를 이미 추가했으며 로컬에도 개인 키가 있습니다. 그러나 내 개인 키의 이름은이라고 /c/Users/Yuci/.ssh/github_rsa합니다.

샘플 출력에 따르면 Git은 시도하고 /c/Users/Yuci/.ssh/id_rsa있습니다. 따라서, 단순히 복사 할 수 있습니다 github_rsaid_rsa같은 디렉토리에.

cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa

이제 ssh -vT git@github.com다시 달리면 다음과 같은 결과가 나타납니다.

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...

그리고 이제 사용자 이름과 비밀번호를 요구하지 않고 GitHub에 푸시 할 수 있습니다 🙂


답변

HTTPS가 아닌 SSH 버전 을 사용해야합니다 . 당신이 저장소에서 복제 할 때와 링크를 복사 SSH의 SSH 사용하기 쉬운 및 액세스로 해결할 수있는 모든 문제 때문에, 버전. 계정에 입력 한 모든 SSH (예 : 푸시, 풀, 복제 등)에 대한 액세스 권한을 설정할 수 있습니다.

여기에 SSH가 필요한 이유와 사용법을 알려주는 링크가 있습니다.

힘내 SSH 키 생성


답변

평소처럼 SSH 키를 만들고 공개 키를 GitHub에 붙여 넣습니다. ssh-agent에 개인 키를 추가하십시오. (이것이 당신이 한 일이라고 생각합니다.)

모든 것이 올바른지 확인하려면 ssh -T git@github.com

다음과 같이 원격 지점을 수정하는 것을 잊지 마십시오.

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


답변

명령 행 사용 :

ls -al ~/.ssh기존 SSH 키가 있는지 확인하려면 입력 하십시오.

터미널에 다음이 표시됩니다. 디렉토리가 없습니다

그런 다음 새 SSH 키를 생성하십시오.

1 단계.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2 단계.

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): <here is file name and enter the key>

3 단계.

Enter passphrase (empty for no passphrase): [Type a password]

Enter same passphrase again: [Type password again]


답변