在我的 Linux 服务器上登录的用户应该能够使用默认帐户 ssh 到特定的远程计算机。远程机器上的认证使用公钥,所以在服务器上对应的私钥是可用的。
我不希望服务器用户实际上能够读取私钥。基本上,他们可以访问服务器这一事实允许他们使用 ssh 权限,并且从服务器中删除它们也应该禁止连接到远程计算机。
如何允许用户打开 ssh 连接而不授予他们对私钥的读取权限?
到目前为止我的想法:显然 ssh 可执行文件必须能够读取私钥,因此它必须在具有这些权限的服务器上的另一个用户下运行。建立 ssh 连接后,我可以将其“转发”给用户,以便他可以输入命令并与远程机器交互。
- 这是一个好方法吗?
- 我应该如何实现转发?
- 用户如何发起连接(即对密钥具有读取权限的用户执行 ssh)?
- 是否存在安全漏洞?- 如果用户可以作为另一个用户执行 ssh,那么他们可以做其他用户可以做的所有事情(包括读取私钥)吗?