这是一个困扰我许久的问题,因为自己比较懒所以一直没有去就寻根问底,需要用到 SSH Tunnel 时就用 PuTTY 来绕过这个问题。
问题的产生:公司的网络环境需要走 HTTP Proxy 才能访问外部 Internet 。工作机用 Ubuntu ,无论是在 Terminal 中手动设置 http_proxy 还是用 gnome-network-properties GUI 设置全局环境变量,对在命令行中用 ssh 都不起作用。
解决方法: Debian/Ubuntu 下可以安装 connect-proxy 包,以下是包描述:
Description: Establish TCP connection using SOCKS4/5 or HTTP tunnel
connect-proxy is a simple relaying command to make tunnel TCP connection
via SOCKS or HTTPS proxies.
It is mainly intended to be used as proxy command of OpenSSH.
安装后编辑一下 ~/.ssh/config
例如:
保存,再试一下 ssh 到 tux.im 搞定!
更多 connect-proxy
的用法请 RTFM ;-)
注意:这样的话也带来了另外一个问题,若切换到家中或其它不需要代理的环境,就会出现连不上 tux.im 的情况。至于如何解决,大家自行动脑筋吧;-)
还是那句话:世上无难事,只怕有心人。