我刚刚在 AWS 中设置了我的第一个堡垒主机,这让我想到了访问权限。例如:
user --> bastion (public) --> database (will only allow access from bastion IP on port 22)
似乎我可以通过两种方式做到这一点:
第一的
用户将有两个私钥,即他的个人密钥和数据库密钥。添加使用ssh-add -K
. 因此,为了通过 ssh 进入数据库,用户将执行以下操作:ssh -A user@bastion
然后一旦登录堡垒主机,他就可以执行另一个 ssh 进入数据库。
第二
用户将只有一个私钥,即他的个人密钥。他将使用它通过 ssh 进入堡垒主机,然后从那里连接到数据库。这次没有密钥转发,因为数据库已经从堡垒授权了密钥。
这两者之间的区别在于,用户只需要第一种方法的数据库密钥,而不需要第二种方法。
我的问题是,哪一个是最好的方法?似乎它们都可以被认为是安全的。但是第二个可能会更好,因为管理员不必将数据库密钥分发给用户。