我已经设置了 Squid HTTP 代理(在 centOS 中)并打算将其用于 ssh 连接。
设法配置 putty(在 Windows 客户端中)以在通过 ssh 连接时使用此代理。在“目标主机”中确认 ssh 连接来自代理服务器 ip,而不是 Windows 客户端 IP。
用过的:
目标主机:22(对于 ssh)
proxyserv:3128 用于代理(以及代理凭据)
我现在在使用 Ubuntu 和相同的代理服务器连接“目标主机”时遇到了问题。
我尝试了以下方法:
me@mycomp:~$ connect-proxy -H test@proxyserv:3128 targethost 22
Enter proxy authentication password for test@proxyserv:
SSH-2.0-OpenSSH_6.2p2 Ubuntu-6
它在最后一行挂起,等待一些输入。所有尝试都导致“协议不匹配”错误。
Putty 成功连接到 http 代理并发送凭据,立即向我显示 ssh 登录。 - 如何(使用 Ubuntu 中的命令)执行与 putty 相同的操作? - 除了 connect-proxy 命令之外还有其他方法可以做到这一点吗?
编辑:还尝试了以下操作,结果相同(“协议不匹配”)
me@mycomp:~$ connect-proxy -H test@proxyserv:3128 targethost 22 ssh -l myshel_login
提前致谢
编辑:解决方案详细信息(感谢 NickW 指明正确的方向)
安装 corkscrew 并添加到 ssh_config
Host targethost
ProxyCommand corkscrew proxyserv 3128 %h %p /etc/ssh/proxypass
创建了 proxypass 文件
login:password
重新启动 ssh 并使用简单的 ssh 命令
ssh mylogin@targethost
(照常询问 ssh 密码)
答案1
您可能想要添加螺旋状到你的 Ubuntu 盒子,并添加以下行:
Proxy命令 /usr/local/bin/corkscrew proxy.work.com 80 %h %p
到您的 .ssh/config 文件。