############################################################## ssh (3) WSLでの ssh 公開鍵の手動登録 ( ssh-add, ssh-agent ) ############################################################## ========================================================= WSLでのパスフレーズ登録 ========================================================= WSL 環境において、パスフレーズ付き秘密鍵(例: ``id_rsa_level7``)を ssh-agent 経由で登録し、 **セッション中は一度のパスフレーズ入力で再利用可能にする** 構成。 | ========================================================= 手動登録 ========================================================= 1. ssh-agent (鍵を保持するプロセス) を起動. 2. 起動時に出力される環境変数(SSH_AUTH_SOCK, SSH_AGENT_PID)を設定 3. ssh-add を使って秘密鍵(例: id_rsa_level7)を agent に登録 4. 以後、パスフレーズなしで鍵が使える(セッション中有効) | ========================================================= 自動 スクリプト ========================================================= --------------------------------------------------------- ssh_setup.sh --------------------------------------------------------- .. literalinclude:: codes/ssh_setup.sh :language: bash --------------------------------------------------------- ssh_cleanup.sh --------------------------------------------------------- .. literalinclude:: codes/ssh_cleanup.sh :language: bash | ========================================================= 実行方法 ========================================================= --------------------------------------------------------- 起動 --------------------------------------------------------- .. code-block:: bash source ~/.ssh/ssh_setup.sh * **source コマンド必須** * 環境変数 ( "SSH_AUTH_SOCK", "SSH_AGENT_PID" ) を **呼び出し元のシェルに引き継ぐ必要がある** ため. | ( 以下は無効.サブシェルに環境変数が残り、呼び出し元シェルでは見つからないため. ) .. code-block:: bash bash ~/.ssh/ssh_setup.sh | --------------------------------------------------------- 終了時 --------------------------------------------------------- .. code-block:: bash source ~/.ssh/ssh_cleanup.sh | ========================================================= 備考 ========================================================= - ssh-agent.env は、1セッションごとのエージェント情報(ソケットと PID)を記録・再利用するための環境ファイル。 - プロセスの生死判定に ``kill -0 $SSH_AGENT_PID`` を使用している。 - .bashrc 等には自動登録せず、必要なときにのみ実行する手動型設計。 - source を使うことで、セッション中は再入力不要かつ安全に鍵が使える。