
簡短的問題是我想知道是否可以在終端中為 ssh 連接提供“友好”名稱?
我的長期推理是...
我有多個伺服器叢集透過 NAT 在單一 IP 位址後面運行。我可以透過 SSH 連接到每個叢集中具有不同連接埠號碼的各個伺服器,例如:
ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230
在 Putty/Windows 中,我會給每個連接一個不同的名稱(clust1-web1,集群1-web2,集群1-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
它不完全相同,但您可以將每個連接命令保存為別名。
或者,如果您無法這樣做,只需將每個連接命令儲存為 shellscript/bashscript(可能名稱為 connect-clust1-web1)並將它們儲存在也在您的 PATH 中的資料夾中
因此您只需輸入 connect-clust1-web1 即可建立連線。
答案3
您可以在下列位置配置別名~/.ssh/config
:
Host clust-web1
Hostname clust1.somedomain.tld
Port 2210
(ETC)
然後,您可以使用別名 ssh 到該主機:
ssh clust-web1