ssh-add로 추가 한 ID를 저장하여 유지 과정에서 ( 이 기사에

최근에 openssh와 함께 사용할 수 있도록 설정 했습니다 git.

설정하는 과정에서 ( 이 기사에 따라 ) 명령을 실행했습니다.

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>

얼마 후, 로그 아웃 한 후 다시 사용하려고했는데 git push오류가 발생했습니다. 이 오류에 대한 해결책은 동일한 명령을 다시 실행하는 것입니다.

내가 어떻게 할 수 있는지 말해줘

  • ssh-agent달리기를 계속해서 새로 시작할 필요가 없습니다.
  • 내가 추가 한 키를 기억하여 매번 추가 할 필요가 없습니다.

명확히하기 위해 zsh를 사용하므로 특정 bash 기능이 내 .zshrc에서 작동하지 않습니다.



답변

무엇을 ssh-agent위해 그리고 어떻게 작동합니까?

ssh-agent메모리 및 세션에서 안전하게 해독 키를 유지합니다. 재부팅 / 재 로그인 중에 해독 된 키를 보존 할 수있는 합리적이고 안전한 방법은 없습니다.

좋아, 어떻게 자동화 할 수 있습니까?

ssh-agent시작 자동화

더하다

[ -z "$SSH_AUTH_SOCK" ] && eval "$(ssh-agent -s)"

귀하 ~/.bashrc또는 다른 시작 스크립트 ( ~/.zshrc)에

키 추가 자동화

추가 할 때 처음 사용시 키를 자동으로 추가 할 수 있습니다

AddKeysToAgent yes

당신에게 ~/.ssh/config.

자세한 내용은를 ~/.ssh/config참조하십시오 man ssh_config.


답변

이것을 추가하십시오 ~/.bashrc

이것은 터미널없이 다른 세션을 열면 ssh-agent가 자동으로 시작됨을 의미합니다.

if [ -z "$SSH_AUTH_SOCK" ] ; then
 eval `ssh-agent -s`
fi

에이전트에 키를 추가해야하는 경우

if [ -z "$SSH_AUTH_SOCK" ] ; then
 eval `ssh-agent -s`
 ssh-add ~/.ssh/<your private ssh key>
fi