我知道,这个问题被问了很多,但我在使用ssh
代理时仍然遇到问题。
我有一个EC2
服务器(运行一个简单的 Web 服务器),它位于aws
. 并有一个jumphost
连接到它。jumphost
在公共网络中。我可以登录到 Web 服务器实例的唯一方法是通过jumphost
.
所以我~/.ssh/config
在本地计算机中创建了如下文件:
Host jumphost
Hostname <Retracted-Public-IP>
user ec2-user
IdentityFile /Users/jananath/.ssh/private-key.pem
我可以登录到jumphost
as:ssh jumphost
并且可以正常工作。
在jumphost
上面我配置~/.ssh/config
如下:
Host my-web-server
Hostname <Retracted-Private-IP>
user ec2-user
IdentityFile ~/.ssh/web-server-private-key.pem
而且我可以通过 ssh 进入 Web 服务器(来自jumphost
)ssh my-web-server
并且它可以正常工作。
我不想jumphost
每次需要登录网络服务器时都登录,所以我尝试了代理。
因此,我在本地~/.ssh/config
文件中添加了另一个块,如下所示:
Host jumphost
Hostname <Retracted-Public-IP>
user ec2-user
IdentityFile /Users/jananath/.ssh/private-key.pem
Host my-web-server
ProxyCommand ssh jumphost -W %h:%p
我试过了:ssh my-web-server
它给出了以下输出:
kex_exchange_identification:连接被远程主机关闭连接被未知端口65535关闭
有人可以帮我解决这个问题吗?