我正在尝试允许远程 RHEL 服务器通过 Win/Putty 网关对本地 RHEL 机器进行 ssh 访问。基本上,我希望能够在远程服务器上执行“ssh localhost -p 512”,以便它能够连接到本地网络中的 RHEL 服务器。本地网络超出了防火墙,因此我可以使用 Putty/ssh 从我的 Win PC 连接到远程服务器,但反之则不行。
LclSrv----WinXP/Putty-----||-----RmtSrv
因此,我已在 Putty 中的当前 RmtSrv 会话中添加了以下隧道设置(实际上我使用 Kitty 但没关系):
R512 拼箱服务:22
我希望这会在远程服务器上创建一个监听端口 512 并将连接传输到本地网络/LclSrv 端口 22 的进程。
按下开始按钮后,Putty 成功打开常规 ssh 终端会话,但什么也没发生。(选项显示活动端口转发)。我使用 netstat -l 检查过,端口 512 没有在 RmtSrv 上监听。此端口上的 ssh 返回“连接被拒绝”。我做错了什么?sshd_config 中是否有需要更改的内容以允许隧道?可能是 RmtSrv 上的用户权限阻止我创建隧道?顺便说一句,我有 sudo。
干杯,弗拉德。
答案1
本地端口转发场景(rmtsrv 可以访问 WinXP):
用 ssh 术语来说,您想要做的是将本地端口转发到另一台机器并允许其他主机(rmtsrv)连接到它。
因此,您设置本地 WinXP:512 转发到 lclsrv:22。
因此,在 Putty 的隧道设置中,务必检查并将目标Local ports accept connections from other hosts
添加到转发端口。source port 512
lclsrv:22
编辑以适应评论:远程端口转发场景(WinXP 可以访问两个 srv):
您建议的配置应该可行。
r512 LclSrv:22
是正确的。我猜问题出在 rmtsrv 上的 sshd 安全设置上。检查是否已启用此功能:
AllowTcpForwarding yes
如果您想要为 rmtsrvs 网络上的其他人启用对转发端口的访问:
GatewayPorts yes
该配置通常位于“/etc/ssh/sshd_config
答案2
在 Putty 窗口的左侧有一个菜单。菜单上,SSH 左侧有一个 +。点击那里。转到隧道。配置它们。瞧。