ssh-add
단독으로는 작동하지 않습니다:
Error connecting to agent: No such file or directory
이 도구를 어떻게 사용해야 합니까?
답변1
ssh-agent
먼저 초기화 해야 합니다 .
여러 가지 방법으로 이 작업을 수행할 수 있습니다. 새로운 쉘을 시작함으로써
ssh-agent bash
ssh-agent
또는 현재 셸에서 반환된 스크립트를 평가합니다.
eval "$(ssh-agent)"
모든 기록과 변수를 유지하므로 두 번째 접근 방식을 사용하는 것이 좋습니다.
답변2
Windows PowerShell에서(관리자 권한으로 실행):
현재 상태 확인SSH 에이전트:
Get-Service | ?{$_.Name -like '*ssh-agent*'} | select -Property Name, StartType, Status
서비스가 비활성화된 경우 활성화합니다.
Set-Service -Name ssh-agent -StartupType Manual
서비스를 시작합니다:
Start-Service ssh-agent
이전과 같이 키를 추가하세요.
ssh-add <path to the key>
답변3
SSH 에이전트가 실행되고 있지 않거나, 설정한 환경 변수를 현재 환경에서 사용할 수 없거나(가장 중요 SSH_AUTH_SOCK
), 잘못 설정되었습니다(죽은 에이전트를 가리킴).
다음 명령을 사용하여 현재 셸 세션에서 에이전트를 시작할 수 있습니다.
eval "$(ssh-agent)"
또는 프록시를 통해 새 셸 세션을 시작하세요.
ssh-agent fish
( fish
사용중인 쉘로 교체하십시오). 하지만 당신이 말한 이후로에 익숙해이 기능 없이 작업 할 수 있으면 ssh-add
실수로 에이전트를 죽였거나 다른 이유로 종료되었다고 믿게 됩니다. 오류 메시지를 보면 SSH_AUTH_SOCK
환경 변수가 실제로 설정되어 있지만 ssh-add
해당 경로에서 유효한 통신 소켓을 찾을 수 없는 것 같습니다 .
완전히 로그아웃했다가 다시 로그인하거나 컴퓨터를 다시 시작하면 평소의 작업 방식이 다시 작동하더라도 놀라지 않을 것입니다.
답변4
내가 방금 우연히 발견한 것은 내가 무엇을 하려고 해도 키를 추가할 수 없다는 것입니다. openssh를 다시 설치하고, systemd에서 시작하고, 중지하고, 다시 시작하고, ssh-agent를 시작하고, 실행 중인 모든 ssh-agent 프로세스를 종료한 다음 새 프로세스로 시도해 보세요... 항상 파일이나 디렉터리를 찾을 수 없습니다. 마지막으로 ~/.ssh에서 모든 SSH 키를 삭제하고 사용자 정의 이름을 지정한 새 키를 생성했지만 여전히 작동하지 않았습니다. 무엇일을 했어요어떤 이유로 키 이름을 id_rsa
.로 바꾸면 에이전트가 키를 추가하지 않고 자동으로 키를 선택하고 작업을 시작합니다. 아치에게 일어난 일입니다.