Ssh
配置中的反向 ssh 隧道
如何使用我的 ./ssh/config 文件建立反向 ssh 隧道?
我正在嘗試重現此命令
ssh -R 55555:localhost:22 user@host
在我的 .ssh/config 文件中,這樣當我鍵入時,
ssh host
我將以使用者身份和反向隧道 ssh 到主機。配置文件接受的命令是命令行標誌的更詳細的對應物。根據 ssh 手冊頁和 ssh_config 的手冊頁,對應的設置似乎是 BindAddress。在我的 .ssh/config 文件中,我有:
Host host Hostname host User user BindAddress 55555:localhost:22
當我嘗試時,這和輕微的變化會導致連接被拒絕
ssh localhost -p 55555
一旦登錄主機。如果我在第一次 ssh 到主機時明確地在頂部給出命令,那麼同樣可以正常工作。我的配置文件在沒有反向隧道命令的情況下工作;
ssh host
將我作為使用者登錄到主機。
BindAddress
不是您想要的選擇。來自man ssh_config
:BindAddress Use the specified address on the local machine as the source address of the connection. Only useful on systems with more than one address.
等效的配置文件
-R
是RemoteForward
:RemoteForward Specifies that a TCP port on the remote machine be forwarded over the secure channel to the specified host and port from the local machine. The first argument must be [bind_address:]port and the second argument must be host:hostport. [...]
有了這些資訊,命令行
ssh -R 55555:localhost:22 user@host
轉換為以下
.ssh/config
語法:Host host HostName host User user RemoteForward 55555 localhost:22