我已经在 linux mint 上成功通过 SSH 设置了隧道,并且可以浏览网页。
但是,当我尝试使用同一端口进行 ssh 时,我得到:
无法建立与代理的连接:网络无法访问 ssh_exchange_identification:连接被远程主机关闭
在我的中,mate-network-properties
我选择了手动代理配置,并且socks主机是127.0.0.1
那么为什么 ssh 不使用该代理信息,我可以让它使用所述代理吗?
答案1
你不需要挖隧道ssh
。您可以ssh
连接到中间主机,然后ssh
连接到您需要的任何其他地方。
您甚至可以通过使用以下标志强制分配伪 tty 在单个命令中完成此操作-t
:
me@inside$ ssh -t intermediary ssh external
Last login: Fri Sep 21 14:13:25 2012 from intermediary
me@external$ logout
Connection to external closed.
Connection to intermediary closed.
me@inside$
唯一的缺点是您有多个 SSH 会话。但我真的不明白为什么这会成为一个问题。
答案2
同意@bahamat,只需直接通过 ssh 进行 ssh,而不使用 SOCKS 代理。有一种方法可以通过(需要ssh 中间人主机上的.ssh/config
netcat/ )自动执行此操作:nc
Host my-host-behind-the-firewall
ProxyCommand ssh my-ssh-front-server exec nc %h %p 2>/dev/null
现在你可以
ssh my-host-behind-the-firewall
它确实有效。如果您可以使用密钥无密码访问前端服务器,则特别方便。
答案3
第一个例子:
# ssh -D 1080 [email protected]
第二个实例将使用socks5代理:
$ cat /etc/tsocks.conf
....
server = 127.0.0.1
server_port = 1080
发射,
$ tsocks ssh [email protected]