linux:在ssh中包装清除协议的最好方法

我有一个传统的协议,不支持身份validation,不支持会话,只是简单而简单的做任何你想要的命令,从客户端发送到服务器清楚地发送和服务器高兴地执行任何接收很多,作为红酒勃艮第读取从自动提示

一个解决scheme是用tls重新实现传统服务。 这将工作,但它可能是一个痛苦的世界,我希望find更容易的事情。 我知道倾向于使用ssh的论据,在这种情况下,也有一些论据认为,更容易的重大改进,更容易实现,这是轻松获胜的边缘改进。

我在想:

  • 用/ etc / passwd shell = / usr / bin / legacy-protocol-handler创build一个'protocol-user'
  • 客户端通过ssh连接并将命令写入shell来发送命令
  • sshd执行协议处理程序(用户shell)并传递命令
  • 协议处理程序处理命令并发回响应,挂断
  • sshd编组响应并通过networking发送
  • 这解决了authentication和传输encryption,我几乎没有改变协议处理程序中的代码

这个一般的想法可能比上面更容易,Unix用户系统只是用来执行一个自定义的协议处理程序,而不是一个shell ..我无法find一个命令,将监听端口,做authentication/encryption繁重,并为每个连接执行协议处理程序,例如ssh-listen –port 1224 –accept-only-this-user publickey.bin –execute / usr / bin / legacy-protocol-handler

问题:

  • 这是一个合理的解决scheme(好像我没有按照预期使用sshd)
  • 这种方法有什么缺点?
  • 有没有更好的方式获得可观的安全类似的努力
  • 有没有类似的方法,我可以使用tls侦听器,而不是通过sshd传递