Mac OS X ターミナル - SSH 接続に名前を付ける?

Mac OS X ターミナル - SSH 接続に名前を付ける?

簡単に質問すると、ターミナルで SSH 接続に「フレンドリ」な名前を付けることができるかどうかを知りたいということです。

私の長い推論は...

NAT 経由で単一の IP アドレスの背後で実行されている複数のサーバー クラスターがあります。各クラスター内の個々のサーバーに異なるポート番号で SSH 接続できます。例:

ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230

Putty/Windowsでは、各接続に異なる名前を付けます(clust1-web1clust1-web2clust1-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

関連情報