
簡単に質問すると、ターミナルで SSH 接続に「フレンドリ」な名前を付けることができるかどうかを知りたいということです。
私の長い推論は...
NAT 経由で単一の IP アドレスの背後で実行されている複数のサーバー クラスターがあります。各クラスター内の個々のサーバーに異なるポート番号で SSH 接続できます。例:
ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230
Putty/Windowsでは、各接続に異なる名前を付けます(clust1-web1、clust1-web2、clust1-web3) ですが、ターミナルではこれを行う方法がわかりません。接続先のサーバーをホスト名で区別できず、ポート番号がランダムであるため、問題が発生します。
答え1
ターミナルからこれを実行します:
ナノ ~/.ssh/config
そして、次のようにホストを挿入できます。
Host clust1-web1
Hostname clust1
User Username
Port 2210
Host clust1-web2
Hostname clust1
User Username
Port 2220
次に、次のコマンドを実行するだけで ssh を実行できます。
ssh clust1-web1
このファイルに配置できる引数の完全なリストを表示するには、次のコマンドを実行します。
man ssh_config
答え2
まったく同じではありませんが、各接続コマンドをエイリアスとして保存できます。
あるいは、何らかの理由でこの方法を実行できない場合は、各接続コマンドをシェルスクリプト/bashスクリプトとして保存し、たとえばconnect-clust1-web1という名前を付けて、それらをPATHにあるフォルダに保存します。
つまり、connect-clust1-web1 と入力するだけで接続できます。
答え3
エイリアスは次の場所で設定できます~/.ssh/config
:
Host clust-web1
Hostname clust1.somedomain.tld
Port 2210
(等)
次に、エイリアスを使用してそのホストに ssh で接続できます。
ssh clust-web1