今回はiTermを使ってSSHの接続先とパスワードを管理する方法をご紹介します。
~/.ssh/configで接続先を管理
接続先は~/.ssh/configファイルで管理しましょう。そうすることで、ssh接続するときのコマンドを省略できるようになります。
例えば一般的には下記のようにssh接続していると思います。
ssh -p [ポート番号] [ユーザー名]@[ホスト名] -i [鍵ファイルパス]
それをconfigファイルの設定を行うことで、次のようにとても簡単に接続できるようになります。
ssh [エイリアス名]
configファイルの記述方法
それでは先ほどのエイリアス名で接続するために、configファイルに記述していきましょう。記述方法は下記のようなフォーマットになります。
Host [エイリアス名]
HostName [ホスト名]
Port [ポート番号]
IdentityFile [鍵ファイルパス]
User [ユーザー名]
ServerAliveInterval [秒数]
ServerAliveIntervalは接続が切れないように定期的にサーバーにパケットを送信する設定になります。複数の接続先を登録する場合は、ファイル内に続けて記述していくだけで問題ありません。
他にも踏み台サーバーの設定やワイルドカードを利用した接続も記述できます。こちらの記事などをご参考ください。
iTermのパスワードマネージャーでパスワード管理
sshをパスワードで接続している場合、上記のconfigではパスワードの管理はできないので、iTermのパスワードマネージャーを利用して、管理します。
パスワードマネージャーは「Window」 > 「Password Manager」から開くことができます。パスワードマネージャーを開いた後は、左したの「+」ボタンからパスワード情報追加して、その横にある、「Edit Password」からパスワードを登録できます。登録したパスワードは覚えやすいように名前(Account Name)をつけておきましょう。
登録したパスワードを選択して、「Enter Password」ボタンをクリックすることでターミナル側に入力してくれるようになります。ただし、ssh接続の度にパスワードマネージャーを開くのは少し面倒なので、次にパスワードを聞かれた時にパスワードマネージャーを開くように設定をしましょう。
ssh接続時にパスワードを聞かれたときに自動でパスワードマネージャーを開く設定方法
iTermの「Preferences」 > 「Profiles」 > 「Advanced」 > 「Triggers内のEdit」を順にクリックしてください。こちらの画面から条件に合う文字列が表示したときにアクションを行うようなトリガーを登録することができます。今回はpassword:という文字列が出たらパスワードマネージャーを開くトリガーを登録しましょう。左下の「+」ボタンからトリガーを追加します。
追加されたトリガーの各項目を下のように設定します。
項目 | 項目の内容 | 設定する値 |
---|---|---|
Regular Expression | トリガーの発生条件文字列(正規表現) | :password |
Action | トリガーの条件判定時のアクション | Open Password Manager |
Parameters | アクションに必要なパラメーター | なし |
Instant | 即時にアクションするか or Enterのタイミング | チェック |
Enable | 設定の有効化 | チェック |
これで、ssh [エイリアス名]でパスワードを聞かれる際は自動でパスワードマネージャーが開き、登録済みのパスワードを選ぶことで簡単にssh接続できるようになりました!