SSHコマンドとconfig

SSHの事情と理屈と設定 - (新) 檜山正幸のキマイラ飼育記 メモ編 にて:

ssh, sshdコマンドの設定と使い方は触れない。

クライアント側で使う ssh コマンドに関して補足する。

sshコマンドでリモートホストに接続するときのコマンドライン構文は:

ssh 〈ホスト名またはIPアドレス〉 -l 〈ユーザー名〉 -p 〈ポート番号〉 -i 〈クライアントの秘密鍵ファイル〉

コマンドラインオプションとconfigファイルのフィールド名との対応は:

オプション フィールド名 備考
引数 HostName N は小文字でもよい
-l User l は login-name
-p Port デフォルトは22番
-i IdentityFile i は identity

ポート番号指定は多くの場合省略できて、コマンドの引数であるホスト指定にユーザー名を埋め込めるので、コマンドラインは簡略化できる。

ssh 〈ユーザー名〉@〈ホスト名またはIPアドレス〉-i 〈クライアントの秘密鍵ファイル〉

とはいえ、毎回キーボード入力はめんどくさい。

クライアント側の ~/.ssh/config を書くことによって、コマンドラインは次で済む。

ssh 〈タイトル〉

タイトルは、configのホストエントリーのタイトルになる。ホストエントリーの例を示すと:

Host daphnia-chimaira
  HostName 160.251.23.194
  User chimaira
  IdentityFile C:\Users\m-hiyama\.ssh\daphnia-chimaira_ed25519_key

sshコマンドの引数に指定するのはタイトル(この場合 daphnia-chimaira)であって、HostNameフィールドの値ではない。

Windows Terminal におけるSSHの扱いは以下を参照。