这可能已被问到某个地方,但我找不到它的生命。
我目前正在设置一台服务器机器,我想这样做,只有那些直接通过SSH连接到服务器并拥有授权密钥的计算机才能进入。我已经获得了工作的密钥,但我不知道应该如何确保人们不能多跳进服务器机器。我想知道:
答案 0 :(得分:1)
我不相信只能更改服务器上的设置。
如果您的服务器被称为server
并且网络上的另一台计算机被称为aux
,那么您需要禁用以下多跳方法,可能还有其他方法:
ssh -t aux ssh server
ssh -o ProxyCommand='ssh aux /usr/bin/nc %h %p' server
ssh -N -L 2222:server:22 aux & ssh -p 2222 localhost
所以你需要确保
ssh
在网络上的任何其他计算机上运行时将拒绝连接到server
,除非用户在本地登录(而不是通过ssh)
AllowAgentForwarding
设置为no
AllowTcpForwarding
在网络上的所有其他计算机上设置为no
这可能有点多。
也许您可以将私钥嵌入可能不会离开建筑物的硬件令牌中?但这超出了我的经验范围。
如果您在ServerFault.com上询问,您应该得到更好的答案,并希望您的问题很快就会在那里迁移。