SSH Config とエイリアス

ShellBeginner
オンラインで実践に進む

はじめに

SSH Config(~/.ssh/config)は、サーバーのアドレス帳です。

接続情報を毎回入力する代わりに、エイリアス(ニックネーム)を作成できます。

例:

  • 変更前:ssh user@192.168.1.100 -p 2222 ...
  • 変更後:ssh myserver

この実験では、サーバー用のエイリアスを設定します。

実際の作業では、SSH の接続操作はすぐに繰り返し作業になります。設定ファイルを使うと、分散していた接続情報を、再利用できる小さなアドレス帳にまとめられます。

Config ファイルを作成する

nano を使って SSH config ファイルを作成します。

nano ~/.ssh/config

権限の確認を求められたり、ディレクトリが存在しなかったりする場合は、先に作成してください(通常は存在します)。

次のステップで内容を追加するため、そのまま待ちます。

~/.ssh ディレクトリは、Linux システムにおけるユーザーごとの重要なセキュリティディレクトリの一つです。通常、秘密鍵、known hosts、クライアント設定などが保存されています。

Host エイリアスを追加する

サーバーの「ニックネーム」を定義します。

nano ~/.ssh/config で開いたファイルに、次の内容を追加します。

Host labserver

これで、labserver というエイリアスが設定されます。

接続情報を追加する

エイリアスの下に、実際の接続情報を追加します。
読みやすくするため、各行をインデントしてください。

Host labserver
    HostName localhost
    User labuser
  • **HostName**:実際の IP アドレスまたはドメイン(localhost)。
  • **User**:ユーザー名(labuser)。

このエイリアスブロックを使うと、人が覚えやすいニックネームと、実際の技術的な接続情報を分けて管理できます。

保存して終了します(Ctrl+O、Enter、Ctrl+X)。

エイリアスで接続する(ssh labserver)

「短縮ダイヤル」をテストします。

ssh labserver

自動的に labuser@localhost として接続できるはずです。

SSH の構成が複雑になると、設定ファイルにはポート、identity file、その他のオプションも保存できます。そのため、このシンプルなエイリアス設定は、規模が大きくなっても活用できます。

exit と入力して接続を終了します。

まとめ

この実験では、SSH の「アドレス帳」を作成しました。

  1. Config ファイル:~/.ssh/config を作成しました。
  2. エイリアス:Host のニックネーム(labserver)を定義しました。
  3. 接続情報:そのエイリアスの下に HostName と User を保存しました。
  4. 短縮ダイヤル:ニックネームだけを使って接続しました。

さらに多くのサーバー(AWS、Google Cloud、会社のサーバー)を扱うようになると、このファイルは頼れる存在になります。数十個の IP アドレスやユーザー名を覚える必要がなくなるためです。