셸을 시작할 때마다 SSH 에이전트에 추가하고 싶은 세 개의 SSH 키 쌍이 있습니다. 다시 시작한 후에는 항상 수동으로 다시 추가해야 합니다 ssh-add <path_to_private_key>
.
어떻게 해야 하나요?
답변1
때에 따라 다르지.
SSH를 통해 로그인하는 경우 옵션을 통해 SSH 프록시 전달을 사용할 수 있습니다 -A
( ssh
또는 에서 옵션을 설정할 수 있습니다 ~/.ssh/config
). 이렇게 하면 SSH 키를 서버에서 로컬로 실행 중인 ssh-agent
.
X 세션을 통해 로그인한 경우 ssh-agent
배포판에 단일 중앙 런타임이 설정되어 있어야 합니다. 그렇지 않은 경우 귀하의 것 ~/.xsession
(또는 X 세션을 시작하는 데 사용하는 모든 것)에 다음과 같은 내용이 포함되어 있는지 확인하십시오 .
ssh-agent awesome
(당신이 나와 같고 훌륭한 창 관리자와 같다고 가정).
다른 모든 방법이 실패하면 ~/.bash_profile
.맨 위파일 중):
if [ -z "$SSH_AGENT_PID" ]
then
exec ssh-agent bash
fi
ssh-add ...
이미 실행 중인 에이전트가 있는지 확인하고, 그렇지 않은 경우 에이전트를 다시 시작한 다음 셸을 시작합니다. 이렇게 하면 키가 추가됩니다.
(run 명령을 전달하지 않고 실행할 수 있는 또 다른 옵션이 있습니다 eval ssh-agent
. 이렇게 하지 마세요. 덜 안전합니다.)
답변2
에이전트를 시작한 후 SSH_AUTH_SOCK
설정과 명령을 SSH_AGENT_PID
파일에 저장합니다. 그런 다음 에이전트를 다시 시작하는 대신 다음 명령을 실행하십시오. 이렇게 하면 모든 쉘에 대한 공유 프록시가 남습니다. .profile
이 기능을 또는 파일 에 구축하면 .bash_profile
이 작업이 더 쉬워집니다.
X-Windows 환경에서 작업하는 경우 X-Windows 초기화 중에만 에이전트를 시작하면 됩니다. 그러면 쉘이 기존 프록시 설정을 상속해야 합니다.
이 솔루션을 사용하여 상대적으로 짧은 시간 제한이 있는 키를 추가했습니다. 이 옵션을 사용하면 ssh-agent를 시작할 때 -t
기본값을 설정할 수 있습니다.