TL; DR

TL; DR

我的目標是,如果可能的話,透過

$ ssh 終端主機

因為我需要一個到隧道的 ssh 連線來連線到 mysql,哪個端點可以建立,但 hop-host 不能。

TL; DR

我實際上正在尋找一種方法讓.ssh/config我可以做

ssh 終端主機

當在幕後時它會做

ssh -t 躍點主機 ssh 終端主機



當幕後的動作發生時

Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)

其中終端主機、終端主機使用者和終端主機的識別檔案是已知的並在/home/hop-user/.ssh/config躍點主機上定義。

MacBook~/.ssh/config

Host hop-host
    User hop-user
    Hostname valid.tested.public.ip.address.to.hop.host
    IdentityFile ~/.ssh/id_rsa

Host end-host
    HostName end-point-hostname-as-defined-on-hop-host
    ProxyCommand ssh -W %h:%p hop-host

~/.ssh/config跳機用戶的跳主機 Cent OS

Host end-point-hostname-as-defined-on-hop-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    IdentityFile ~/.ssh/keys/endhost

需要注意的限制:我無法更改躍點/終端主機上的任何配置,並且我沒有nc在這些主機上安裝。

給定配置的當前問題

$ ssh 終端機主機
通道 0:開啟失敗:管理禁止:
開啟失敗 ssh_exchange_identification:連線被遠端主機關閉

有效的東西:

$ ssh -t 躍點主機 ssh 端點主機名稱在躍點主機上定義

正確提示我 end-host-bash$ 並允許我從那裡做任何我想做的事情

我嘗試過的不起作用或部分起作用的事情

1) 更改 Macbook~/.ssh/config終端主機配置的主機名稱和用戶

Host end-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    ProxyCommand ssh -W %h:%p hop-host

$ ssh 終端主機
[電子郵件受保護]的密碼:

我顯然沒有。我猜這是因為 hop-host.ssh/config不是紅色的。

2) 更改~/.ssh/configProxyCommand 的 Macbook 終端主機配置

Host end-host
    ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host

$ ssh end-host
不會分配偽終端,因為 stdin 不是終端。
偽終端不會被分配,因為 stdin 不是終端。
:指令未找到2.0-OpenSSH_6.2
ls
^CK被訊號2殺死。

bash 讓我可以輸入,但沒有顯示我的指令。
我知道這是因為在幕後有一個調用,-o ProxyCommand="the command in .ssh/config in the right host"但我可能不了解它的實際工作原理。

相關內容