SSH接続を設定ファイルで容易にするには
今回は「SSH接続を設定ファイルで容易にするには」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
「Secure Shell」(SSH)は、あらゆる「Linux」ユーザーがおそらくいつかは使用することになるツールの1つだ。SSHを使用すると、簡単(かつ安全)にリモートサーバーやデスクトップにログインして、それらのマシンで管理や開発、確認などの作業を実行することができる。
SSHは以下のコマンドを実行するだけで使用できる。
あるいは、以下の極めて単純なコマンドでも使用可能だ。
もちろん、IPアドレスの部分は、アクセスする必要のあるマシンのアドレス(またはドメイン)に置き換える。
設定の異なる(例えば、ユーザー名やSSH認証キーの異なる)多数のマシンにアクセスする必要がある場合、SSHはもう少し複雑だ。毎日、約20台の異なるサーバーにログインしなければならないとしたらどうなるか想像してみてほしい。これらのサーバーのIPアドレスやドメインを把握しておかなければならないだけでなく、使用されているユーザー名や認証キーも記憶する必要がある。それだけでもかなり大変な作業かもしれない。
幸い、SSHでは、そうした情報をすべて格納する設定ファイルを作成できる。したがって、ssh olivia@192.168.1.100 -p 2222のような長いコマンドを入力しなくても、ssh web1と入力するだけで済む。
本記事では、これを実行する手順を紹介する。
これらすべてのリモートマシンへのSSH接続に使用するLinuxマシンにログインする。ターミナルウィンドウを開いて、図Aのコマンドを実行し、新しい設定ファイルを作成する。
図A
これは新しいファイルなので、空白のキャンバスのようなものだ。ここにサーバーの設定を追加していくことができる。例えば、以下のリモートサーバーを設定したいとしよう。
最初のエントリーは以下のようになる。
この時点でファイルを保存して閉じると、以下のコマンドを使用して、192.168.1.100にSSH接続できるようになる。
先に進んで、次の2つのエントリーを設定しよう。これらのエントリーは以下のようになる。
ファイルを保存して閉じる。これで、以下のコマンドを使用して、これらのマシンにSSH接続できるようになった。
必要に応じて、各ホストにニックネームを使用し、覚えやすくすることをお薦めする。これをやっておかないと、どのマシンに接続しようとしているのかを忘れてしまい、記憶を呼び起こすために、設定ファイルを頻繁に参照しなければならなくなる。
それでは、すべてのリモートサーバーで同じユーザー名を使用しているが、ローカルマシンでは別のユーザー名を使っているという場合は、どうすればいいのだろうか。例えば、ローカルマシンのユーザー名はjackだが、すべてのリモートサーバーでadminというユーザー名を使用しているとしよう。以下のように、IPアドレスにワイルドカードを使用することで、これらすべてのサーバーに対して単一のエントリーを作成することが可能だ。
上記の設定は、設定ファイルの一番上に配置される。
その後、「User」オプションを省略して、各サーバーを必要に応じて個別に設定することができる。例えば、192.168.1.200と192.168.1.201の両方のサーバーがSSHキー認証を使用している場合は、エントリーを以下のように設定する。
192.168.1.xというIPアドレススキームのすべてのマシンにadminというユーザー名を適用したため、そのユーザー名はすべての接続に適用される。必要に応じて、「User」設定行を追加し、そのグローバル設定をオーバーライドすることも可能だ。
SSH設定ファイルで利用できるオプションは、ほかにもいくつかあるが(SSH設定の公式ドキュメントですべて説明されている)、本記事で紹介した例さえ押さえておけば、SSH設定ファイルの使用を開始できるはずだ。
SSH設定ファイルを使用して、SSHでのリモートアクセスを容易にする方法の説明は、以上である。