我有一个 Linux 工作站,我在其中运行一个带有另一个 Linux 的虚拟机。
关键是我的朋友想尝试ssh
直接连接到我的虚拟机,但我们无法使其工作。
ssh -R 2223:linda@virtualMachine:221 linda@workStation
这就是我们尝试的方式(我们尝试了很多选择,但这基本上是第一个想法)。虚拟机上的 SSH 侦听端口 221,因此这就是我们使用此端口的原因。
问题是,使用此命令,他连接到我的工作站而不是virtualMachine
.
为什么会发生这种情况?这不是将SSH连接转发到该virtualMachine
地址的方法吗?
答案1
您可以使用两个 ssh 命令,一个用于隧道,另一个用于登录(除非您当前没有转发/路由端口):
ssh -f -l linda -L 2211:virtualMachine:221 workStation -N
然后
ssh -l linda -p 2211 localhost
并登录到virtualMachine
这里。
编辑:也尝试(由弗朗索瓦·P建议)
ssh -J linda@workStation linda@virtualMachine:221
EDIT2:如果问题仍然存在,这可能是由于跳转主机(工作站)上的选项所致,另请参阅此处:SSH 隧道错误:“通道 1:打开失败:管理禁止:打开失败”。具体来说,查看工作站上的文件是否/etc/ssh/sshd_config
有这些行
AllowTcpForwarding yes
PermitOpen any
PermitTunnel yes
sshd
更改文件后重新启动:
systemctl restart sshd