【发布时间】:2014-08-04 03:59:55
【问题描述】:
我有一个由客户端和服务器组成的应用程序,由 Internet 分隔,我在其中控制服务器,但需要对客户端连接进行身份验证。客户端通过 TCP 连接连接到服务器,然后它们交换 JSON 消息。客户端不是基于浏览器的应用程序,它是在 Linux 服务器上运行的无头 node.js 应用程序。
我想对连接进行一些身份验证。我的想法是(类似于 github)授权用户(通过单独的门户)可以将他们的 ssh 公钥添加到他们将运行客户端的 linux 机器的服务器端数据库中,然后我想使用TCP 会话建立期间的那些 ssh 密钥。这有意义吗?我不熟悉使用 ssh 密钥对对 ssh 以外的应用程序进行身份验证,所以我不确定如何实现这一点。另外,我想知道人们是否有替代的“最佳实践”或建议来为这样的应用程序实施身份验证。我想保护服务器及其资源免受未经授权的客户端访问。欢迎任何/所有想法
【问题讨论】:
-
我不知道这是否适合,但也许使用 libssh (libssh.org) 来封装网络会起作用。
标签: linux node.js authentication tcp ssh-keys