gpt4 book ai didi

linux - 我可以在非 ssh 应用程序中使用 ssh key 进行身份验证吗?

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:27 25 4
gpt4 key购买 nike

我有一个由客户端和服务器部分组成的应用程序,它们由互联网分隔,我在其中控制服务器,但需要对客户端连接进行身份验证。客户端通过 TCP 连接连接到服务器,然后交换 JSON 消息。客户端不是基于浏览器的应用程序,它是运行在 Linux 服务器上的 headless Node.js 应用程序。

我想对连接实现一些身份验证。我的想法是(类似于 github)授权用户(通过单独的门户)可以将他们的 ssh 公钥添加到他们将在其上运行客户端的 Linux 计算机的服务器端数据库中,然后我想在 TCP session 建立期间使用这些 ssh key 进行身份验证。这有道理吗?我不熟悉使用 ssh key 对对 ssh 以外的应用程序进行身份验证,因此我不确定如何实现这一点。另外,我想知道是否有替代的“最佳实践”或人们可能对此类应用程序实现身份验证的建议。我想保护服务器及其资源免受未经授权的客户端访问。欢迎任何/所有想法

最佳答案

你没有提到你的客户端是如何使用的——如果它是全部自动化的或者如果有用户手动启动应用程序——但从技术上讲,你的解决方案将是一个有效的(而且可能并不太罕见)的解决方案:你可以让 SSH 客户端通过互联网为你的 TCP 通信建立一个隧道,并让你的应用程序连接到该隧道的本地监听套接字端。因此,身份验证(以及隐式加密)将由 SSH 处理,除了连接到不同的主机 (localhost) 之外,您的应用程序将完全不知道这一点。

关于linux - 我可以在非 ssh 应用程序中使用 ssh key 进行身份验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24207919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com