![无法通过 SSH 连接到一台服务器,但能够通过 SSH 连接到 amazon ec2](https://linux22.com/image/1401928/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BD%86%E8%83%BD%E5%A4%9F%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20amazon%20ec2.png)
我位于防火墙后面,防火墙限制了对 Internet 的访问,我们唯一可以访问 Internet 的方式是通过端口 8080 上的代理服务。现在,我正在使用 corkscrew,它允许我通过 SSH 隧道连接到 Amazon EC2,并使用 corkscrew,但我无法隧道连接到 DigitalOcean 的服务器,而从不受限制的 Internet,我可以访问这两个服务器。有人能帮我解决这个问题吗?
以下是 ssh 通过命令运行时的日志-v
:-
ssh -vvv XXXX@XXXXX -p 443
OpenSSH_6.5, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 49: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for 128.199.203.97
debug1: Executing proxy command: exec corkscrew proxy.ac.in 8080 1.199.203.97 443 /bin/.corkscrew-auth
debug1: permanently_drop_suid: 1001
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/Blueelvis_RoXXX/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_rsa type 1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_rsa-cert type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_dsa type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_dsa-cert type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_ecdsa type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_ed25519 type -1
debug1: identity file /home/Blueelvis_RoXXX/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.5
Proxy could not open connnection to 1.99.203.97: Proxy Authentication Required
ssh_exchange_identification: Connection closed by remote host
通过相同参数连接到 Amazon EC2 时,我能够通过它建立隧道,但在这个上不行。连接到 Amazon 实例时,我没有收到任何需要代理身份验证的错误,但连接到 DigitalOcean 服务器时确实收到错误。知道发生了什么以及为什么吗?
我在 Windows 上运行 CYGWIN
答案1
这个问题通过使用名为 CNTLM 的程序得到了解决。该程序可在此处下载
- 下载并安装该程序。
- 将文件配置
INI
为您想要的代理设置,并确保监听地址的行不以 开头#
。 - 启动 CNTLM 软件。
- 编辑您的 ssh_config 文件 ProxyCommand /bin/corkscrew.exe
127.0.0.1 3128
%h %p。其中 corkscrew 是使用的程序,127.0.0.1
是 CNTLM 中配置的监听地址,3128
是 CNTLM 监听该地址的端口。
按照这些步骤,我立即就可以连接到 Digital Ocean 的服务器。