通过 squid 代理进行 SSH 连接需要使用什么命令?

通过 squid 代理进行 SSH 连接需要使用什么命令?

我已经设置了 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 文件。

相关内容