我正在学习如何进行 SSH 远程转发,并尝试使用计算机上的两个虚拟机进行练习。一个运行 Kali 并托管配置为侦听端口 8000 的 Apache Web 服务器,另一个运行 Manjaro 并应充当远程设备。(我在 VB 中将网络适配器设置为“桥接模式”)。当我运行命令时:
ssh -R 8080:localhost:8000 [email protected]
它返回以下输出:
[email protected]'s password:
Last login: Sat Jul 30 16:09:45 2022 from 192.168.3.120
[manjaro@manjaro ~]$ connect_to localhost port 8000: failed.
connect_to localhost port 8000: failed.
connect_to localhost port 8000: failed.
connect_to localhost port 8000: failed.
每次我在 Manjaro VM 上的 Web 浏览器中插入时,它都会打印出“连接失败”行,http://localhost:8080/
这可能是什么问题?
答案1
如果(根据您的评论)curl localhost:8080
在 Kali 上有效,则您需要-R …:localhost:8080
在ssh
命令中。在您使用的命令中有-R …:localhost:8000
。端口错误。
ssh -R 8080:localhost:8080 [email protected]
#
# The machine with SSH server will listen
# ^^^^ on this port.
#
# The machine with SSH client will resolve
# ^^^^^^^^^^^^^^ this address:port and it will forward
# connections to it.