.ssh
디렉토리에 30 개의 키 (개인 15 개 및 공개 15 개)가 있다고 가정 해보십시오 .
Git에서 주어진 원격 저장소에 연결하는 데 사용되는 것을 확인할 수있는 곳은 어디입니까?
.ssh
디렉토리에 30 개의 키 (개인 15 개 및 공개 15 개)가 있다고 가정 해보십시오 .
Git에서 주어진 원격 저장소에 연결하는 데 사용되는 것을 확인할 수있는 곳은 어디입니까?
답변:
.ssh/config
파일 의 다음 항목 은 문제를 해결합니다.
host git.assembla.com
user git
identityfile ~/.ssh/whatever
~/.ssh/whatever
개인 키에 대한 경로는 어디에 있습니까?
또한 사용자와 호스트는
git push git@git.assembla.com:repo_name.git
^__ ^_______________
user host
ssh를 상세 모드 (aka)에서 실행 ssh -v user@host
하면 엄청난 양의 디버깅 정보가 인쇄되며, 여기에는 로그인을 시도하는 키 파일에 대한 세부 정보도 포함됩니다.
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 332
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
당신이 망할 놈의 자신의 4 단계로,이 결합하면 이제 SSH 도움말 페이지 , ssh -vT git@github.com
당신에게 대답을 줄 수 있습니다.
참고 : -i
스위치를 사용하여 명령 실행 중에 사용할 키 파일을 ssh에 알릴 수도 있습니다.
ssh -vv user@host 2> >(grep Offering)
.-이렇게하면 작업이 더 쉬워집니다. 마지막 파일은 공개 키 여야합니다. 예 :debug1: Offering RSA public key: /Users/macbookpro/.ssh/id_rsa
github
와 같은 것이 아닙니다 git
.
에 지정되어 있지 않으면 .ssh/config
기본 개인 키 파일을 사용합니다.
기본 파일은 ~/.ssh/id_rsa
또는 ~/.ssh/id_dsa
또는 ~/.ssh/identity
프로토콜 버전에 따라 다릅니다.
내 취향에 가장 실용적인 것은 다음과 같습니다.
GIT_SSH_COMMAND='ssh -v' git …
물론 상황에 따라 매번 수동으로 앞에 추가 할 필요가 없도록 현재 SHELL의 환경으로 내보내는 것이 유용 할 수 있습니다. 그러면 다음과 같습니다.
export GIT_SSH_COMMAND='ssh -v'
git …
— man git
SSH를 사용하여 Git의 작업에 영향을 미치는 몇 가지 환경 변수가 있습니다. 에 따르면 man ssh
당신은 배포 할 때 디버깅 정보를 얻을 수있는 -v
옵션을 (뿐 아니라, 더 많은에 대한 호기심이 있다면 설명서를 확인).
어떤 키가 사용됩니까?
출력에서 다음과 같은 smth를 볼 수 있습니다.
debug1: Offering public key: …
… 그것이 당신의 qn에 대한 답입니다.
set GIT_SSH_COMMAND=ssh -v
.. 이 날은 SSH-설정 Inlcude 경로가 창에 이런 식으로 뭔가해야한다고 알아낼 도움이 Include /C/Users/YourUserName.ssh/config
SSH를 만들기 때문에 자식 사용 후, 예를 들어 사용하는 config 파일 HOST *
식별 파일 자식 / SSH의 사용을 지정하는 항목을.
때문에 git
단지가 사용하는 ssh
연결,이 중 키 사용 ssh
원격 호스트에 연결하는 데 사용할 수 있습니다. 자세한 내용은 ~/.ssh/config
파일을 참조하십시오. host
블록은 사용 IdentityFile
사용에 개인 키를 지정하는 지시문을. ssh_config(5)
맨 페이지는 자세한 내용이 포함되어 있습니다.
/etc/ssh_config
주석 항목의 전체 파일로 표시되는
~/.ssh/config
자신을 만들 수 있습니다 .
이것은 슈퍼 에지 일 수 있지만 실행 후 키를 ssh -vT git@github.com
확인하고 있음을 보여 주었고 /root/.ssh
홈 디렉토리를 확인할 것으로 예상하고 루트로 로그인 한 것을 깨달았습니다!
ssh
심문 방법 중에서 올바른 솔루션입니다. 감사.