再起動またはログアウトした後、ログインしてもパスワードのないSSHが続行されるようにしたいです。何とかssh-agentを実行してログインするときは、ssh-addコマンドを使用する必要があります。チュートリアルで次の行を追加する必要があることを読みました.bashrc
。
ssh_agent="$HOME/.ssh-agent.sh"
if [ -f $ssh_agent ]
then
source $ssh_agent > /dev/null
fi
同時にチュートリアルでも言及されています。
ssh-agentがすべてのプロセス(クローンジョブを含む)を実行している場合は、パスワードは必要ありません。ただし、ssh-agent が死亡または終了すると、以前の設定が維持されるため、問題が発生する可能性があります。
再起動/再ログイン後もパスワードなしでsshを使用できる安全な方法が必要です。どんな提案がありますか?
ベストアンサー1
最も簡単な方法:インストールpam_ssh
。ログインすると、自動的にssh-agentが起動し、キーがロードされます。
難しい方法:これをログインスクリプト(~/.bash_profile
または~/.profile
)に入れてください:
check-ssh-agent() {
# `ssh-add` returns 2 if the agent is running but empty; ignore.
ssh-add -l &>/dev/null || (( $? == 2 ))
}
if ! check-ssh-agent; then
envfile=~/.ssh/agent-$HOSTNAME
if [ -f "$envfile" ]; then
. "$envfile" >/dev/null
fi
if ! check-ssh-agent; then
ssh-agent >"$envfile"
. "$envfile" >/dev/null
if [ -t 0 ]; then
# This `if` can be removed if all your keys are passphrase-less.
ssh-add
fi
fi
unset envfile
fi
「残りの設定」は$SSH_AUTH_SOCK
簡単に変更できる環境変数です。 (しかも、これはすべてできるgo error は ssh のエラーメッセージです。 )