我基本上想要做这个服务器默认的问题 ,所以我希望一群人(“pipe理员”)能够login到许多隐藏的服务器与ssh使用跳箱,它存储隐藏的服务器的私钥。
由于更新隐藏服务器上的authorized_keys是相当昂贵的,我只想通过修改跳转框来控制对它们的访问,即通过更改跳转框上的authorized_keys文件来添加或删除“admins”。
我特别不想要的是将存储在跳箱上的私钥泄露给pipe理员,所以链接问题的答案中提到的ssh-agent + ProxyCommand方法将不起作用,因为代理会将私钥从跳箱发送到“pipe理员”,如果我明白的话。
相反,干脆就这样做
ssh -tt jumpbox ssh hidden_server_1
有“pipe理员”不能轻松使用scp和端口转发的缺点。
注意:通过使用自定义脚本作为仅允许必要的命令的loginshell,“admins”的Shell对Shell的访问权限应被禁用。
有没有安全方便的方法来保持scp和端口转发的舒适性,而不会削弱安全限制?
非常感谢您的帮助!
不能读取私人密钥而不能读取私人密钥,因此无法“使用”私人密钥。 因此,您的pipe理员可以login到跳转框,然后使用他们无法直接访问的私钥继续下去的想法是不会飞的。
但是你可以安排一些东西,使私钥只能在跳转框中使用(参见AUTHORIZED_KEYS FILE FORMAT中的man sshd , from= )。 然后,拒绝一个给定的pipe理员访问跳箱给他或她留下没有进一步使用的密钥。
这是否满足您的安全限制?
请注意,您可以像所有远程pipe理员正在访问跳转框上的共享帐户那样进行编写。 如果是我的系统,我不会那么做; 我想让每个远程pipe理员在跳转框上都有一个个人帐户,所有这些帐户都可以访问或复制相关的俘虏密钥对。 这使得撤销单个pipe理员对跳转箱的访问变得更加容易和可靠。