etc./StackOverFlow

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

청렴결백한 만능 재주꾼 2022. 1. 2. 04:54
반응형

질문자 :Danny Dai Smith


이 오류가 발생했습니다.

 $ 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-add 명령을 실행하기 전에 ssh-agent 를 시작해야 할 수도 있습니다.

 eval `ssh-agent -s` ssh-add

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

다음 답변을 참조하세요.

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

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

ssh-agent 대신 eval 을 사용해야 하는 이유는 무엇입니까?

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

공개 키와 개인 키

ssh-add 사용할 때마다 항상 개인 키를 추가합니다. ~/.ssh/id_rsa.pub 파일은 공개 키처럼 보이지만 작동하는지 확실하지 않습니다. ~/.ssh/id_rsa 파일이 있습니까? 텍스트 편집기에서 열면 개인 키라고 표시됩니까?


user456814

나는 아무 소용이 다른 솔루션을 시도했습니다. 나는 더 많은 연구를했고 다음 명령이 작동하는 것을 발견했습니다. Windows 7과 Git Bash를 사용하고 있습니다.

 eval $(ssh-agent)

추가 정보: https://coderwall.com/p/rdi_wq


Victor Alves

다음 명령이 저에게 효과적이었습니다. 저는 CentOS를 사용하고 있습니다.

 exec ssh-agent bash

mianjee

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

이 오류를 해결하려면:

세게 때리다:

 $ 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


Chris Snow

MsysGit 또는 Cygwin

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

  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에서 zsh & keychain과 함께 자습서 ssh-agent를 사용하여 설정했지만 Google 검색에는 Windows에 대한 많은 정보가 있을 것이라고 확신합니다.

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

 ssh-add -K ~/.ssh/id_rsa

간단합니다.


RobW

운영

 ssh-agent bash ssh-add

더 자세한 정보를 얻으려면 검색할 수 있습니다

 ssh-agent

또는 실행

 man ssh-agent

bp zhang

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

이렇게 하면 새 명령 프롬프트 창을 열 때마다 에이전트가 자동으로 시작됩니다(한 세션에서 여러 명령 프롬프트를 열면 최적이 아니지만 적어도 작동해야 함).


Robin Green

나는 Linux에 대해 동일한 문제에 직면했으며 다음은 내가 한 일입니다.

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

다음을 수행해야 합니다.

 eval `ssh-agent`

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


n3o

이 문제를 해결하기 위해 $ ssh-agent -s 대신 $ eval `ssh-agent -s`

다음은 단계별로 수행한 작업입니다(GitBash에서 2단계 이상).

  1. C:\user\<username>\.ssh\ 에서 내 .ssh 폴더를 정리했습니다.
  2. 새 SSH 키 생성
    $ ssh-keygen -t rsa -b 4096 -C "xyz@abc.com"
  3. 프로세스 ID(ssh 에이전트)가 이미 실행 중인지 확인하십시오.
    $ ps aux | grep ssh
  4. (선택 사항) 3단계에서 발견된 경우 해당 항목을 종료합니다.
    $ kill <pids>
  5. SSH 에이전트 시작
    $ eval `ssh-agent -s`
  6. 2단계에서 생성된 ssh 키를 ssh 에이전트에 추가했습니다.
    $ ssh-add ~/.ssh/id_rsa

vinsinraw

다음 단계를 시도하십시오.

1) Git Bash를 열고 실행: cd ~/.ssh

2) 에이전트 실행 시도 : eval $(ssh-agent)

3) 바로 지금 다음 명령을 실행할 수 있습니다. ssh-add -l


ChechoroArtem

Windows 10에서 여기에 나열된 모든 답변을 시도했지만 그 중 아무 것도 작동하지 않는 것 같습니다. 실제로 그들은 단서를 제공합니다. 문제를 해결하려면 단순히 3개의 명령이 필요합니다. 이 문제의 아이디어는 ssh-add에 SSH_AUTH_SOCK 및 SSH_AGENT_PID 환경 변수가 현재 ssh-agent sock 파일 경로와 pid 번호로 설정되어야 한다는 것입니다.

 ssh-agent -s > temp.txt

이렇게 하면 ssh-agent의 출력이 파일에 저장됩니다. 텍스트 파일 내용은 다음과 같습니다.

 SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764; export SSH_AUTH_SOCK; SSH_AGENT_PID=3044; export SSH_AGENT_PID; echo Agent pid 3044;

텍스트 파일에서 "/tmp/ssh-kjmxRb2764/agent.2764"와 같은 내용을 복사하고 콘솔에서 직접 다음 명령을 실행합니다.

 set SSH_AUTH_SOCK=/tmp/ssh-kjmxRb2764/agent.2764

텍스트 파일에서 "3044"와 같은 내용을 복사하고 콘솔에서 직접 다음 명령을 실행합니다.

 set SSH_AGENT_PID=3044

이제 현재 콘솔 세션에 대한 환경 변수(SSH_AUTH_SOCK 및 SSH_AGENT_PID)가 설정되면 ssh-add 명령을 실행하면 ssh 에이전트 연결에 다시 실패하지 않습니다.


BIOHAZARD

내가 만난 한 가지는 eval 이 작동하지 않는다는 것입니다. 나를 위해 일한 것은 ssh-agent ssh-add id_rsa 입니다.

그 후 내 개인 키가 너무 열려 있다는 문제가 발생했습니다. 이에 대한 해결책은 ( here 에서 ) 다음과 같습니다.

 chgrp Users id_rsa

게다가

 chmod 600 id_rsa

마침내 나는 사용할 수 있었다:

 ssh-agent ssh-add id_rsa

Vnge

창 사용자의 경우 cmd eval `ssh-agent -s` 가 작동하지 않지만 git bash를 사용하면 처리 eval `ssh-agent -s`; ssh-add KEY_LOCATION 및 Windows 서비스 "OpenSSH 키 관리"가 비활성화되지 않았는지 확인


aqm

Windows 7에 대한 n3o의 답변을 증폭하려면 ...

내 문제는 실제로 일부 필수 환경 변수가 설정되지 않았으며 ssh-agent가 해당 환경 변수를 설정하는 방법을 알려주지만 실제로 설정하지는 않는다는 n3o가 맞습니다.

Windows에서는 "평가"를 허용하지 않으므로 대신 수행할 작업은 다음과 같습니다.

다음을 사용하여 ssh-agent의 출력을 배치 파일로 리디렉션합니다.

 ssh-agent > temp.bat

이제 메모장과 같은 텍스트 편집기를 사용하여 temp.bat를 편집합니다. 처음 두 줄 각각에 대해: - "set"이라는 단어와 줄 시작 부분에 공백을 삽입합니다. - 첫 번째 세미콜론과 뒤에 오는 모든 것을 삭제합니다.

이제 세 번째 줄을 삭제합니다. temp.bat는 다음과 같아야 합니다.

 set SSH_AUTH_SOCK=/tmp/ssh-EorQv10636/agent.10636 set SSH_AGENT_PID=8608

temp.bat를 실행합니다. 이것은 ssh-add가 작동하는 데 필요한 환경 변수를 설정합니다.


Steve Saporta

방금 작동했습니다. ~/.ssh/config 파일을 엽니다.

다음을 추가하십시오-

 Host github.com IdentityFile ~/.ssh/github_rsa

Git용 SSH 설정에 대한 힌트를 제공한 페이지에서 단일 공백 들여쓰기가 중요하다고 말했습니다... Heroku에서 여기에 해당 공간이 없고 제대로 작동하는 구성을 가지고 있었지만.


Paul Becotte

이 지침을 따르면 문제가 해결됩니다.

Mac 또는 Linux 시스템을 사용하는 경우 다음을 입력합니다.

 eval "$(ssh-agent -s)"

Windows 시스템을 사용 중인 경우 다음을 입력합니다.

 ssh-agent -s

Fahim Boron

Ubuntu 에서 동일한 문제가 있었고 다른 솔루션이 도움이 되지 않았습니다. 나는 마침내 내 문제가 무엇인지 깨달았습니다. /root/.ssh 폴더에 ssh 키를 만들었으므로 ssh-add 를 루트로 실행해도 작동하지 않고 계속

 Could not open a connection to your authentication agent.

/home/myUsername/ 폴더에 ssh 공개 키와 개인 키를 만들고 다음을 사용했습니다.

 ssh-agent /bin/sh

그때 나는 달렸다

 ssh-add /home/myUsername/.ssh/id_rsa

그리고 문제는 이런 식으로 해결되었습니다.

참고 : 당신의 저장소에 액세스하기위한 git 당신이 만들 때 당신의 자식 암호를 추가 ssh 가진 키 ssh-keygen -t rsa -C "your git email here" .


Akram

다른 해결책을 제시하겠습니다. 그냥 힘내 1.8.2.2 또는 그 부근에 설치 한, 당신은 SSH를 사용하려면, 잘 writen 따라 방향을 .

약간의 문제가 발생할 수 있는 5.6단계까지의 모든 것. SSH 에이전트가 이미 실행 중인 경우 bash를 다시 시작할 때 다음 오류 메시지가 나타날 수 있습니다.

 Could not open a connection to your authentication agent

그렇다면 다음 명령을 사용하여 둘 이상의 ssh-agent 프로세스가 실행 중인지 확인하십시오.

 ps aux | grep ssh

둘 이상의 ssh-agent 서비스가 표시되면 이러한 프로세스를 모두 종료해야 합니다. 다음과 같이 kill 명령을 사용하십시오(PID는 컴퓨터에서 고유합니다).

 kill <PID>

예시:

 kill 1074

모든 ssh-agent 프로세스를 제거한 후 px aux | grep ssh 명령을 다시 실행하여 사라졌는지 확인한 다음 Bash를 다시 시작합니다.

짜잔, 이제 다음과 같이 표시됩니다.

 Initializing new SSH agent... succeeded Enter passphrase for /c/Users/username/.ssh/id_rsa:

이제 5.7단계 이상에서 계속할 수 있습니다.


Rick

참고: 이것은 이 질문에 대한 답변 이며 이 질문과 병합되었습니다. 그 질문은 Windows 7에 대한 것이었고 내 대답은 Cygwin/MSYS/MSYS2에 대한 것이었습니다. 이것은 SSH 에이전트가 이와 같이 관리되어야 할 것으로 예상하지 않는 일부 유닉스용인 것 같습니다.


Community Wiki

서버에 연결할 때 매개변수 -A를 사용하십시오(예:

 ssh -A root@myhost

맨 페이지에서 :

 -A Enables forwarding of the authentication agent connection. This can also be specified on a per-host basis in a configuration file. Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent's UNIX-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.

Lebnik

ssh-agent 를 실행하는 기본 솔루션은 많은 답변에서 답변됩니다. 그러나 ssh-agent 여러 번 실행하면(열린 터미널당 또는 원격 로그인당) 메모리에서 실행 중인 ssh-agent 이 문제를 피하기 위해 제안된 스크립트는 길고 분리된 파일을 작성 및/또는 복사해야 하거나 ~/.profile 또는 ~/.schrc 에 너무 많은 문자열을 작성해야 합니다. 간단한 두 문자열 솔루션을 제안하겠습니다.

sh , bash 등의 경우:

 # ~/.profile if ! pgrep -q -U `whoami` -x 'ssh-agent'; then ssh-agent -s > ~/.ssh-agent.sh; fi . ~/.ssh-agent.sh

csh , tcsh 등의 경우:

 # ~/.schrc sh -c 'if ! pgrep -q -U `whoami` -x 'ssh-agent'; then ssh-agent -c > ~/.ssh-agent.tcsh; fi' eval `cat ~/.ssh-agent.tcsh`

여기에 무엇이 있습니까:

  • 이름과 현재 사용자로 프로세스 ssh-agent
  • ssh-agent 를 호출하여 적절한 쉘 스크립트 파일을 생성하고 현재 사용자 ssh-agent ssh-agent 자체를 실행합니다.
  • 적절한 환경을 구성하는 생성된 쉘 스크립트 평가

생성 쉘 스크립트 보호 할 필요가 없습니다 ~/.ssh-agent.tcsh 또는 ~/.ssh-agent.sh 에서 최초와의 통신 : 때문에 다른 사용자 액세스에서 ssh-agent 에 액세스 할 수없는 보호 소켓을 통해 처리된다 다른 사용자, 그리고 두 번째로 다른 사용자는 /tmp/ 디렉토리의 열거 파일을 통해 간단한 ssh-agent ssh-agent 프로세스에 대한 액세스는 동일합니다.


oklas

다음을 시도하십시오.

 ssh-agent sh -c 'ssh-add && git push heroku master'

kenorb

Windows 10에서 명령 프롬프트 터미널을 사용하면 다음이 작동합니다.

 ssh-agent cmd ssh-add

그런 다음 다음과 같이 암호를 입력해야 합니다.

 Enter passphrase for /c/Users/username/.ssh/id_rsa:

Allan

설명은 @cupcake의 답변 을 읽어보세요. 여기서는 수정 사항만 자동화하려고 합니다.

BASH와 함께 Cygwin 터미널을 사용하는 경우 $HOME/.bashrc 파일에 다음을 추가합니다. 이것은 첫 번째 Bash 터미널에서 한 번만 ssh-agent를 시작하고 ssh-agent에 키를 추가합니다. (Linux에서 이것이 필요한지 확실하지 않음)

 ########################### # start ssh-agent for # ssh authentication with github.com ########################### SSH_AUTH_SOCK_FILE=/tmp/SSH_AUTH_SOCK.sh if [ ! -e $SSH_AUTH_SOCK_FILE ]; then # need to find SSH_AUTH_SOCK again. # restarting is an easy option pkill ssh-agent fi # check if already running SSH_AGENT_PID=`pgrep ssh-agent` if [ "x$SSH_AGENT_PID" == "x" ]; then # echo "not running. starting" eval $(ssh-agent -s) > /dev/null rm -f $SSH_AUTH_SOCK_FILE echo "export SSH_AUTH_SOCK=$SSH_AUTH_SOCK" > $SSH_AUTH_SOCK_FILE ssh-add $HOME/.ssh/github.com_id_rsa 2>&1 > /dev/null #else # echo "already running" fi source $SSH_AUTH_SOCK_FILE

"ssh-add" 명령에 올바른 키를 추가하는 것을 잊지 마십시오.


Kiran Mohan

이미 실행 중일 때 ssh-agent를 시작할 때이 문제가 발생했습니다. 혼란스러워집니다. 이 경우인지 확인하려면 다음을 사용하십시오.

 eval $(ssh-agent)

이것이 당신이 생각했던 것과 같은지 확인하기 위해. 제 경우에는 방금 시작한 것과는 달랐습니다.

둘 이상의 ssh-agent가 실행 중인지 추가로 확인하려면 다음을 검토할 수 있습니다.

 ps -ef | grep ssh

Jahmic

ssh를 통해 숨김에 연결하기 위해 Windows에서 이것을 작동시키려고 할 때 비슷한 문제가 있었습니다.

여기 나를 위해 일한 솔루션이 있습니다.

  1. 내 Windows 상자에서 Pageant ssh 에이전트를 실행하고 있었던 것으로 나타났습니다. 실행 중인 항목을 확인하겠습니다. Putty 및 winScp와 함께 기본적으로 제공되므로 Pageant라고 생각합니다.

  2. ssh-add는 이 유형의 에이전트를 사용하는 명령줄에서 작동하지 않습니다.

  3. 작업 표시줄에서 Pageant 아이콘을 두 번 클릭하여 얻을 수 있는 미인 대회 UI 창을 통해 개인 키를 추가해야 합니다(시작되면).

  4. Pageant에 키를 추가하기 전에 PPK 형식으로 변환해야 합니다. 전체 지침은 여기에서 확인할 수 있습니다. SSH 키를 ppk 형식으로 변환하는 방법

  5. 그게 다야 키를 숨김에 업로드하면 SourceTree를 사용하여 로컬 저장소를 만들고 원격을 복제할 수 있었습니다.

도움이 되었기를 바랍니다...


Moonwalker

Windows 10에 내장된 bash의 경우 .bash_profile에 다음을 추가했습니다.

 if [ -z $SSH_AUTH_SOCK ]; then if [ -r ~/.ssh/env ]; then source ~/.ssh/env if [ `ps -p $SSH_AGENT_PID | wc -l` = 1 ]; then rm ~/.ssh/env unset SSH_AUTH_SOCK fi fi fi if [ -z $SSH_AUTH_SOCK ]; then ssh-agent -s | sed 's/^echo/#echo/'> ~/.ssh/env chmod 600 ~/.ssh/env source ~/.ssh/env > /dev/null 2>&1 fi

Kip

git 프로세스(ssh 에이전트)를 강제 중지(killed)한 다음 Git을 제거한 다음 Git을 다시 설치하여 오류를 해결했습니다.


Devendra Singh

Win8.1E에서 Git Bash를 사용하여 내 해결 방법은 다음과 같습니다.

 eval $(ssh-agent) > /dev/null ssh-add ~/.ssh/id_rsa

SrBlanco

Putty를 사용하는 경우 "Connection/SSH/Auth/Allow agent forwarding" 옵션을 "true"로 설정해야 할 수도 있습니다.

여기에 이미지 설명 입력


Vladius

출처 : http:www.stackoverflow.com/questions/17846529/could-not-open-a-connection-to-your-authentication-agent

반응형