構成ファイルを使用して SSH をさらに使いやすくする方法
Secure Shell を使用してリモート Linux サーバーに一日中ログインする場合は、作業を容易にするために構成ファイルの使用を検討する必要があります。その方法は次のとおりです。
Secure Shell (SSH) は、すべての Linux ユーザーがおそらく一度は使用するツールの 1 つです。 SSH を使用すると、リモート サーバーやデスクトップに簡単に (そして安全に) ログインして、それらのマシンを管理、開発、チェックできます。
SSH の使用は次のように簡単です。
ssh jack@192.168.1.11
あるいは、次のようにすることもできます。
ssh 192.168.1.11
もちろん、IP アドレスを、アクセスする必要があるマシンのアドレス (またはドメイン) に置き換えます。
異なる構成 (異なるユーザー名や SSH 認証キーなど) でアクセスするマシンが多数ある場合、SSH は少し単純ではなくなります。 20 ほどの異なるサーバーがあり、毎日ログインする必要があると想像してください。これらのサーバーの IP アドレスやドメインを追跡する必要があるだけでなく、使用されたユーザー名や認証キーも覚えておく必要があります。それだけでもかなり圧倒されるかもしれません。
ありがたいことに、SSH を使用すると、すべての情報を格納する構成ファイルを作成できます。したがって、ssh olivia@192.168.1.100 -p 2222 のようなものを入力する代わりに、ssh web1 と入力するだけで済みます。
これがどのように行われるかを説明しましょう。
SSH設定ファイルの作成方法
必要なもの: これに必要なものは、OpenSSH がインストールされたデスクトップ マシンと、SSH 接続を許可する 1 つ以上のサーバーだけです。
1. 設定ファイルを作成する
これらすべてのリモート マシンに SSH 接続するために使用する Linux マシンにログインします。ターミナル ウィンドウを開き、に示すコマンドを使用して新しい構成ファイルを作成します。
nano を使用して新しい SSH 構成ファイルを作成します。
これは新しいファイルであるため、サーバーの構成の追加を開始できる空のキャンバスになります。次のリモート サーバーを構成するとします。
web1、192.168.1.100、ユーザー olivia
-
db1 (192.168.1.101、ユーザー nathan および SSH キー ~/.ssh/id_nathan)
192.168.1.102 の docker1、ポート 2222 のユーザー lill
最初のエントリは次のようになります。
Host "web1"
Hostname "192.168.1.100"
User olivia
この時点でファイルを保存して閉じると、次のコマンドを使用して 192.168.1.100 に SSH 接続できます。
ssh web1
2. さらにエントリを設定します
次の 2 つのエントリを設定しましょう。次のようになります。
Host db1
Hostname "192.168.1.101"
User nathan
IdentityFile ~/.ssh/id_nathan
PubkeyAuthentication yes
Host docker1
Hostname "192.168.1.102"
User lilly
Port 2222
ファイルを保存して閉じます。次のコマンドを使用して、これらのマシンにシェルを保護できるようになりました。
ssh web1
ssh db1
ssh docker1
各ホストに必要なニックネームを使用でき、覚えやすいニックネームにするだけで、アクセスしようとしているマシンを忘れたり、設定ファイルを常に参照してメモリを圧迫したりすることがなくなります。
3. 特定のユーザー名を設定する
ただし、すべてのリモート サーバーで同じユーザー名を使用しているが、ローカル マシンでは別のユーザー名を使用しているとします。たとえば、ローカル マシンのユーザー名が jack であるとしても、すべてのリモート サーバーに admin ユーザーが作成されているとします。次のように、IP アドレスにワイルドカードを使用して、これらすべてのサーバーに対して 1 つのエントリを作成できます。
Host 192.168.1.*
User admin
上記の設定は、設定ファイルの先頭に配置されます。
4. SSH キー認証用の個々のエントリを構成する
その後、必要に応じて、「ユーザー」オプションを省略して、各サーバーを個別に構成できます。たとえば、192.168.1.200 と 192.168.1.201 の両方のサーバーが SSH キー認証を使用する場合、次のようにエントリを構成できます。
Host web2
Hostname 192.168.1.200
IdentityFile ~/.ssh/id_admin
PubkeyAuthentication yes
Host web3
Hostname 192.168.1.201
IdentityFile ~/.ssh/id_admin
PubkeyAuthentication yes
ユーザー admin を IP アドレス スキーム 192.168.1.x のマシンの範囲全体に適用したため、そのユーザー名はすべての接続に適用されます。必要に応じてユーザー構成行を追加することで、そのグローバル構成をオーバーライドすることもできます。
SSH 構成ファイルでは、他にもいくつかのオプションを使用できます (これらはすべて、公式 SSH 構成ドキュメントで読むことができます) が、上に示したこれらの例は、SSH 構成ファイルを使用するために必要なものすべてであるはずです。
SSH 構成ファイルを使用して Secure Shell によるリモート アクセスをさらに簡単にする方法はこれですべてです。