我正在为具有交互式 telnet 管理控制台的系统进行开发。要求要求我们禁用 telnet 访问并改为添加 SSH。将管理控制台更改为可用于 SSH 登录的独立程序需要供应商参与。我正在考虑一个更便宜的解决方案,就像这样:
阻止 telnet 管理控制台从外部访问,但让它运行可用于 localhost 连接。
编写一个充当代理的登录 shell(在 C++ 中,或者如果我幸运的话,也可以像这样简单)。登录 shell 将 telnet 到 localhost 并通过 telnet 发送它从用户接收到的所有命令,并将它从 telnet 服务器接收到的所有显示和提示发送回用户。
更改 /etc/passwd 以在用户通过 ssh 登录时启动此代理 shell。
我想的可能吗?是否有可怕的陷阱让我陷入困境?有更好的选择吗?我使用 OpenSSH 作为 ssh 守护进程。