连接到远程计算机的通常工作流程如下:
我想摆脱本地登录,并将其压缩为一个步骤。就像VT220终端一样。预期工作流程:
上下文:我正在设计一个简单的终端应用程序,我希望一些客户使用。应用程序应该用最小的硬件从专用终端运行。如果我在本地运行应用程序,我只需将登录shell更改为指向应用程序并获得所需的工作流(用户-auth然后直接放到应用程序中)。但是,我希望这个应用程序驻留在服务器上,而不是让用户显式地与本地机器和ssh交互。
发布于 2018-10-15 06:24:37
回到我在一所科技大学学习的时候(1997年左右),当地的学生会收到了一些旧的VT220终端和一些低规格的PC(我想是英特尔20 MHz 386 CPU)作为捐赠(我认为是来自uni的计算中心)。该协会已经有一两台PC可以运行网络浏览器,但学生们最需要的服务只是一个SSH连接,可以用来读取电子邮件和使用(基于文本的)课程注册系统。
我将终端连接到PC机上,配置getty进程以显示hostname:提示符,而不是通常的login:。然后,我获取了/bin/login的源代码,并对其进行了修改。
该程序将接受为getty输入的主机名作为命令行参数(与通常的用户名一样),然后提示输入实际用户名,然后为所需的远程主机提供exec()命令。当SSH命令退出时,整个“登录会话”将停止,进程将自动重新启动,因为init将重新启动getty。
可以在本地控制台和串行终端连接上使用相同的配置。现在,每台旧电脑都可以作为一个多座位的SSH亭!
您可以执行类似的操作,但是更简单,因为您不需要主机名提示步骤。修改后的/bin/login只需接受已键入的用户名,并启动与特定远程计算机的SSH连接即可。然后,SSH客户端将显示一个密码提示。
https://unix.stackexchange.com/questions/475480
复制相似问题