[ssh] 인증 에이전트에 대한 연결을 열 수 없습니다

이 오류가 발생했습니다.

$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
!  Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.

키를 추가하려고했는데 아래 오류가 발생합니다.

$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.



답변

시작 했습니까 ssh-agent?

명령 ssh-agent을 실행하기 전에 시작해야 할 수도 있습니다 ssh-add.

eval `ssh-agent -s`
ssh-add

Windows 에서 msysgit Bash 에이전트가 시작됩니다 . 다른 쉘 또는 운영 체제를 사용하는 경우 다른 답변에 나열된 것과 같은 변형 명령을 사용해야 할 수도 있습니다 .

다음 답변을 참조하십시오.

  1. ssh-add가 불평합니다 : 인증 에이전트에 대한 연결을 열 수 없습니다
  2. 힘내 푸시에는 사용자 이름과 비밀번호가 필요합니다 (ssh-agent 사용 방법에 대한 자세한 지침 포함)
  3. 인증 에이전트를 실행하는 방법 (git / ssh)? .
  4. 인증 에이전트에 대한 연결을 열 수 없습니다

ssh-agent를 자동으로 시작하고 단일 인스턴스가 여러 콘솔 창에서 작동하게하려면 로그인시 ssh-agent 시작을 참조 하십시오 .

왜 우리 eval대신에 사용해야 ssh-agent합니까?

이유를 알아 보려면 Robin Green의 답변을 참조하십시오 .

공개 키와 개인 키

또한을 사용할 때마다 ssh-add항상 개인 키를 추가합니다. 파일 ~/.ssh/id_rsa.pub이 공개 키처럼 보이지만 제대로 작동하는지 잘 모르겠습니다. 당신은 가지고 있습니까 ~/.ssh/id_rsa파일을? 텍스트 편집기에서 열면 개인 키라고 표시됩니까?


답변

다른 솔루션을 사용해 보았습니다. 나는 더 많은 연구를하고 다음 명령이 효과가 있음을 발견했습니다. Windows 7 및 Git Bash를 사용하고 있습니다.

eval $(ssh-agent)

자세한 내용은 https://coderwall.com/p/rdi_wq


답변

다음 명령이 나를 위해 일했습니다. CentOS를 사용하고 있습니다.

exec ssh-agent bash


답변

MsysGit 또는 Cygwin

Msysgit 또는 Cygwin을 사용하는 경우 SSH-Agent에서 msysgit 및 cygwin 및 bash의 유용한 자습서를 찾을 수 있습니다 .

  1. .bashrc홈 폴더에 파일을 추가하십시오 .

  2. 파일을 열고 다음에 붙여 넣습니다.

    #!/bin/bash
    eval `ssh-agent -s`
    ssh-add
  3. 이것은 키가 일반적인 ~/.ssh/id_rsa위치 에 있다고 가정합니다 . 그렇지 않은 경우 ssh-add명령 뒤에 전체 경로를 포함하십시오 .

  4. ~/.ssh/config내용으로 파일 추가 또는 생성

    ForwardAgent yes
    

    원래 자습서에서 ForwardAgent매개 변수는입니다 Yes만 오타입니다. 모두 소문자를 사용하면 오류가 발생합니다.

  5. Msysgit을 다시 시작하십시오. 암호 문구를 한 번 입력하라는 메시지가 표시되며 세션이 종료되거나 ssh 에이전트가 종료 될 때까지 완료됩니다.

맥 OS X

터미널을 열 때마다 새로운 ssh-agent를 시작하지 않으려면 Keychain을 확인하십시오 . 현재 Mac을 사용하고 있으므로 Mac OS X 에서 ssh-agent와 zsh & keychain 튜토리얼을 사용하여 설정했지만 Google 검색에는 Windows에 대한 많은 정보가 있어야합니다.

업데이트 : Mac에서 더 나은 솔루션은 Mac OS 키 체인에 키를 추가하는 것입니다.

ssh-add -K ~/.ssh/id_rsa

그렇게 간단합니다.


답변

인증 에이전트에 대한 연결을 열 수 없습니다

이 오류를 해결하려면

세게 때리다:

$ eval `ssh-agent -s`

tcsh :

$ eval `ssh-agent -c`

그런 다음 ssh-add평소처럼 사용하십시오 .


핫 팁 :

위의 ssh-agent 명령에 입력 할 내용을 항상 잊어 버렸으므로 .bashrc파일에 다음과 같이 별칭을 만들었습니다 .

alias ssh-agent-cyg='eval `ssh-agent -s`'

이제을 사용하는 대신 ssh-agent사용할 수 있습니다.ssh-agent-cyg

예 :

$ ssh-agent-cyg
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk

원래 수정 소스 :

http://cygwin.com/ml/cygwin/2011-10/msg00313.html


답변

나는 리눅스에서 같은 문제에 직면했고, 여기 내가 한 일이있다.

기본적으로 ssh-agent 명령은 에이전트를 시작하지만 실제로 실행할 환경 변수를 설정하지는 않습니다. 해당 변수를 쉘에 출력합니다.

다음을 수행해야합니다.

eval `ssh-agent`

그런 다음 ssh-add를 수행하십시오. 인증 에이전트에 대한 연결을 열 수 없습니다를 참조하십시오 .


답변

ssh-add 및 ssh (openssh 구현을 사용한다고 가정)에는 ssh 에이전트와 통신하는 방법을 알기위한 환경 변수가 필요합니다. 현재 사용중인 것과 다른 명령 프롬프트 창에서 에이전트를 시작했거나 잘못 시작한 경우 환경 변수가 로컬 로 명령에 설정되어 있기 때문에 ssh-add 또는 ssh에서 해당 환경 변수 세트를 볼 수 없습니다. 메시지가 표시됩니다).

사용중인 ssh 버전을 말하지는 않지만 cygwin을 사용하는 경우 Cygwin의 SSH 에이전트 에서이 레시피를 사용할 수 있습니다 .

# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
    eval `$SSHAGENT $SSHAGENTARGS`
    trap "kill $SSH_AGENT_PID" 0
fi

그러면 사용자가 연 각각의 새 명령 프롬프트 창에 대해 에이전트가 자동으로 시작됩니다 (한 세션에서 여러 명령 프롬프트를 열지 만 최소한 작동해야 함).