仅为一个应用程序服务的SSH服务器
我想设置一个Linux box,这样当您使用ssh连接到它时,您就可以与特定的应用程序交谈,而不是与shell交谈 也就是说,我想告诉用户登录到仅为一个应用程序服务的SSH服务器,ssh,openssh,Ssh,Openssh,我想设置一个Linux box,这样当您使用ssh连接到它时,您就可以与特定的应用程序交谈,而不是与shell交谈 也就是说,我想告诉用户登录到user\u级别_stuff@mybox,他们得到了一些漂亮的超级保险箱(用于他们和我的箱子)应用程序。根据偏好,我希望在非传统端口(即,不是端口22)上使用此功能,但我可以不使用它。让我的应用程序成为一个ssh服务器是可以的,只要它可以在我的盒子上与一个通用ssh服务器共存。有一条通向外壳的路线,无论是错误的还是恶意的,都是一件坏事 如何做到这一点?您
user\u级别_stuff@mybox
,他们得到了一些漂亮的超级保险箱(用于他们和我的箱子)应用程序。根据偏好,我希望在非传统端口(即,不是端口22)上使用此功能,但我可以不使用它。让我的应用程序成为一个ssh服务器是可以的,只要它可以在我的盒子上与一个通用ssh服务器共存。有一条通向外壳的路线,无论是错误的还是恶意的,都是一件坏事
如何做到这一点?您可以将用户的shell设置到应用程序中;因此,在登录时,您不用启动
/bin/bash
,而是启动自己的应用程序sudo usermod--shell/path/to/your/app name\u用户
问题是“SSH”中的“SH”代表“shell”。也许您可以运行一个独立的守护进程来侦听端口,当收到连接时,它启动目标进程并将TCP流通过管道传输到进程的stdio?但是,您将丢失SSH的身份验证和加密。我要保留的正是身份验证和加密。