ssh-add 명령으로 ssh-agent에 ID가 추가되지 않습니다


20

방금 우분투 13.10을 설치했고 ssh-agent에 ID를 추가하려고 했으므로 터미널을 열고이 작업을 수행했습니다.

bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ 

어떤 아이디어?

답변:


26

보낸 사람 man ssh-add:

ssh-add는 개인 키 ID를 인증 에이전트 ssh-agent (1)에 추가합니다. 인수없이 실행하면 ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa 및 ~ / .ssh / identity 파일이 추가됩니다. [...]

사용자 이외의 다른 사람이 ID 파일을 읽을 수 없어야합니다. ssh-add는 다른 사람이 액세스 할 수있는 ID 파일을 무시합니다.

따라서 The agent has no identities.오류로 인해 해당 파일이 없거나 다른 사람들이 해당 파일에 액세스 할 수 있습니다. 다음 명령을 사용하여이를 확인할 수 있습니다.

ls -l ~/.ssh

또한 ssh-add명령 을 실행 한 후 실행 echo $?하여 이전 명령의 오류 상태를 확인하십시오. 종료 상태가 0을 리턴하면 명령이 성공적으로 실행 된 것입니다. 종료 상태가 0이 아닌 값을 반환하면 명령이 실행되지 않은 것입니다.

자세한 내용 man ssh-add은 참조하십시오 .


사실, 나는 그 파일을 가지고 있지 않고 종료 값 ssh-add은 1이지만 0은 아닙니다. 파일이 만들어지지 않았기 때문에 내 권한에 약간의 문제가 있습니다. 어떻게 해결할 수 있습니까? 디렉토리 ~/.ssh가 존재하지만 비어 있습니다.ls -l
bjorgvin

나는이 명령을 실행 ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa하여 man ssh-keygen이 도움을주었습니다.
bjorgvin

1
그것은 올바른 방향으로 가져 오기 힌트를 주었다. 여러 개의 ssh 키가 있었고 먼저 ssh-add <keyname>을 사용하여 적절한 키를 추가해야했습니다. 그런 다음 매력처럼 작동했습니다. thx
paulroho

3
어떤 이유로, 나는 ssh-add암호 문구를 입력 한 후 실행 할 때 아무런 출력 도 얻지 못했습니다 ( $?1 에 따라 실패했습니다 chmod 600 ~/.ssh/id_rsa* . 운이 없었지만 새 키를 처음부터 생성 한 ssh-keygen다음 작동했습니다. 슬프지만 적어도 그것은 이제는 (실패한 키 ssh-keygen -t rsa -b 4096 -C "your_email@example.com"ssh-keygen
는를

1
이 순서대로 다음을 수행해야했습니다. (필요한 경우 새 ssh 키를 생성하고 .pub 키를 github에 추가해야 함) cd ~/.ssh && ls -lah.ssh 폴더에서 읽기 / 쓰기 권한을 보려면 모든 키를 변경하십시오. )와 chmod 400 myKey다음 ssh-add **ABSOLUTE**pathToKey 당신은 추가하지 않으면 절대 경로를, 그것은 작동하지 않습니다. 다음으로 테스트하십시오ssh -vT git@github.com
jungledev

3

위의 고려 사항 외에도 대체 셸을 사용하는 경우 ssh-agent를로드하도록 구성해야 할 수도 있습니다. 예를 들어, zsh을에, 하나는 추가해야합니다 ssh-agentplugins에서 .zshrc.

이 방법은 최신 Zsh를 사용하여 Ubuntu 17.10에서 잘 작동합니다.

다른 사람들은 id_ed25519rsa를 사용하여 플러그인없이 작업하고 있음을 발견했습니다 . 추가 한 다음 ssh-agent~/.zshrc,와 쉘을 다시 시작 exec "$SHELL"및 실행 :ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: 
Identity added: ~/.ssh/id_ed25519 (user@host)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.