이 솔루션은 ssh 키가 암호로 보호 된 경우에 유용합니다.
위의 모든 답변의 문제는 개인 키가 암호로 보호되어 있으면 새 터미널을 시작하고 개인 키를 사용하려고 할 때마다 암호를 입력해야하며 암호의 여러 사본을 실행하게 ssh-agent
됩니다. 기억. 해결책은 ~/.bashrc
또는에 다음을 추가하는 것입니다 ~/.zshrc
.
##### START Fix for ssh-agent #####
# Ref: http://mah.everybody.org/docs/ssh
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
##### END Fix for ssh-agent #####
이것은 터미널을 시작할 때 한 번만 ssh 개인 키의 암호를 묻습니다. 이후에 새로운 터미널 세션 (또는 tmux 참조)을 열면 위의 코드 조각으로 생성 된 ssh-agent가 재사용됩니다.
참고