强制 SSH 服务器始终且仅与 telnet 服务器建立隧道

强制 SSH 服务器始终且仅与 telnet 服务器建立隧道

我有这样的结构:

客户端 ---> 服务器(debian) ----> 目标

目标是 telnet 服务器。

我能够从客户端通过 SSH 连接到服务器,然后执行 telnet 来到达目标。

我如何配置服务器(而不是客户端),以便在 SSH 连接建立后立即打开 telnet 并在连接关闭后立即离开?

从客户端我知道我可以使用ssh user@server_ip "telnet target_ip",但我无法控制客户端,并且我不希望最终客户端除了远程登录目标之外还有任何其他对服务器的访问权限。

这可能吗?

答案1

当然,您可以将用户的 shell 从 bash/tcsh/etc 更改为执行 telnet 的某些脚本。

转到 /etc/passwd,找到用户并将行末的 shell 编辑为 /usr/bin/yourshell,可以是这样的:

#!/bin/bash
telnet target_ip

然后执行“chmod +x /usr/bin/yourshell”就可以了。

一旦用户退出 telnet 会话,他将自动从 ssh 注销。

相关内容