ssh (4) keychain

keychainとは

  • SSH接続やsshfsマウントにおいて、何回もパスワードを入力するのを回避できる.

  • keychain は、ssh-agent のラッパーツールであり、鍵の永続登録と環境変数の復元が可能.


keychainのインストール

sudo apt install keychain

基本構成:.zshrcへの設定

  • 設定は、シェルの初期化ファイル(~/.zshrc~/.bashrc)に記述.

  • シェル起動時に自動で ssh-agent を起動し,秘密鍵を読み込む.

eval $(keychain --quiet --agents ssh id_ed25519)
source ~/.keychain/$HOST-sh
  • --quiet:メッセージを非表示にする.

  • --agents ssh:ssh-agentのみを使用する(デフォルト).

  • id_ed25519:対象の鍵ファイル(拡張子なし).複数列挙可能.


鍵の登録と確認

鍵の登録

  • 初回またはWSL再起動後に,鍵の入力が求められる.

登録済み鍵の確認:

ssh-add -l

起動後に SSH_AUTH_SOCK が正しく設定されていれば, sshsshfs による認証はパスフレーズなしで行われる.


注意事項

  • コマンド keychain はWSLのセッションが保持されている限り,有効な ssh-agent セッションを維持する.

  • WSLのシャットダウンやWindowsの再起動後は, 再度1回だけパスフレーズの入力が必要 である.

  • 鍵ファイルのパーミッション( 600 )と .ssh ディレクトリのパーミッション( 700 )も適切に設定すること.