2

我想知道是否有任何方法可以为通过 ssh(OpenSSH)连接的服务器和客户端检索一些唯一的会话标识符(让它成为USID)。

这将用于限制特定(自定义)软件的执行(让它成为a.exe),因此它只能通过特定的 ssh session 执行,即使其他用户(可能是 root)可以访问该可执行文件:

  • 在从机器C(客户端)到机器S(服务器)打开 ssh 会话后,机器C(知道USID)将更新机器X(第三方服务器)上的记录,让它知道这个USID是“安全的”。
  • 机器S上的a.exe将在调用时检查当前会话的USID是否“安全”(此信息将由X提供),如果收到否定答案,将停止执行。

XCXS之间的通信通道是安全的,所以这里唯一的问题是检索该USID 无需编写我自己的 ssh 客户端和/或服务器。

有任何想法吗?

4

1 回答 1

1

在我看来,您正在尝试重新实现 kerberos。在我看来,您希望 GSSAPI 保护客户端和服务器之间的传输;因此您的客户端需要对服务器进行身份验证。

执行此操作的典型方法是使用密钥表“启动”委托人,然后将此凭据传递给服务器。Kerberos 确保它相当难以伪造。

这可能会比你上面描述的方法更脆弱。

-高手

于 2010-02-09T21:32:53.443 回答