
我的目標是,如果可能的話,透過
$ 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/config
ProxyCommand 的 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"
但我可能不了解它的實際工作原理。