Linux

~/.ssh/config 通過 IP 地址連接時不支持主機條目

  • February 19, 2021

我正在嘗試通過 ssh 連接到網關。

為了連接到我寫的網關

 ssh root@ip_GW , where ip_GW is the ip of the Gateway.

所以,為了不總是寫 GW 的 ip 地址,我在 .ssh/config 文件中創建了一個別名,如下所示(我還製作了無密碼連接的密鑰):

 Host GW2

   #IdentitiesOnly=yes
    HostName ip_GW
    Identity file ~/.ssh/id_rsa_GW2
    User root

現在我可以像這樣將無密碼連接到網關

 ssh GW2

它工作得很好

現在的問題是,如果我像這樣再次編寫 GW 的特定 ip_address

ssh root@ip_GW , where ip_GW is the ip of the GW

它會給出錯誤:

Too many authentification failures

我真的需要使用特定的 ip_address 連接到 GatewayWay 我應該怎麼做?

將 IP 地址添加到應與配置部分匹配的主機名模式列表中。在這裡,GW2並且203.0.113.1將匹配:

Host GW2 203.0.113.1
   #IdentitiesOnly=yes
   HostName 203.0.113.1
   Identity file ~/.ssh/id_rsa_GW2
   User root

您可以通過以下方式(簡要)找到此文件man ssh_config

**Host**將以下聲明(直到 nextHostMatch關鍵字)限制為僅適用於與關鍵字後給出的模式之一匹配的主機。如果提供了多個模式,它們應該用空格分隔。單一*模式可用於為所有主機提供全域預設值。主機通常是命令行中給出的主機名參數(見CanonicalizeHostname關鍵字例外)。

引用自:https://unix.stackexchange.com/questions/635405