让我解释一下配置。有三台机器 (1) 我的笔记本电脑 (2) NAT 后面的 PC (3) 具有公共地址的 aws 实例。我正尝试从 (1) 访问 (2)。
我这样做了:
pc$ ssh -R 2222:localhost:20 aws_user@aws_ip
现在我可以做以下事情。
laptop$ ssh aws_user@aws_ip
aws$ ssh -p2222 pc_user@localhost
太棒了。但是我无法通过我的桥接机器 (aws) 从我的笔记本电脑 ssh 到 PC。像这样。
laptop$ ssh -2531 pc_user@aws_ip
ssh: connect to host aws_ip port 2222: Connection refused
netstat -a 泄漏以下内容:
tcp 0 0 localhost:2222 *:* LISTEN
tcp 0 0 localhost:48164 localhost:2222 ESTABLISHED
tcp 0 0 localhost:2222 localhost:48164 ESTABLISHED
tcp6 0 0 ip6-localhost:2222 [::]:* LISTEN
并且所有端口在 aws 机器上都已打开。以下操作也失败了。
ssh -R 2222:*:22
答案1
我自己在回答这个问题。GatewayPorts 需要打开。
sudo vi /etc/ssh/sshd_config
添加 GatewayPorts 是
sudo service ssh restart