我在 authorized_keys 中找到了 permit_open 选项,但我希望特定用户 ssh 到服务器并自动 telnet 到另一个用户,同时被关在 jail-boxed 中。这意味着类似这样:
用户1@本地# ssh 用户1@远程1
它实际上连接到防火墙后面的 remote2 telnet 端口,而 user1 无法访问防火墙后面的任何内容(包括 remote1)。
答案1
您可以使用端口转发或防火墙规则(ipchains 或类似规则)。我认为您希望 SSH 能够做到这一点,但这不是 SSH 的用途。
答案2
我不会使用端口转发,而只是将 ssh 用户在 remote1 上运行的初始程序更改为“telnet remote2”,而不是“/bin/bash”或其他程序。编辑:使用 authorized_keys 中的“command”选项
不过,也许您可以详细说明您的用例。
答案3
Renik 已经给了你答案,但不要忘记添加一些强化设置来禁用端口转发。
像这样 :
command="/usr/bin/ssh user1@remote1",no-port-forwarding,no-user-rc ssh-rsa ... user@host
答案4
撇开安全环境中的 telnet 用户不谈,我同意 Harv 的观点 - 您正在尝试使 SSH 过载。如果这是我的构建,我可能会为远程用户安装 openVPN 以连接到 remote1,然后使用 iptables 将隧道传出的流量限制为发往 remote2(和回复)的 TCP/23。