SSH-agentにキーを追加する

SSH-agentにキーを追加する

シェルを起動するたびに、SSHエージェントに追加したい3つのSSHキーペアがあります。再起動したら、常に手動で再追加する必要がありますssh-add <path_to_private_key>

どうすればいいですか?

答え1

時々違うよね

SSH経由でログインしている場合は、オプションでSSHプロキシ転送を使用できます-Asshまたはでオプションを設定できます~/.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デフォルト値を設定できます。

関連情報