최근에 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