シェルを起動するたびに、SSHエージェントに追加したい3つの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
デフォルト値を設定できます。