我正在配置云服务器以运行以下堆栈:
Ruby,Passenger,Apache;在Ubuntu 10.04(Lucid Lynx)下.
在想要使服务器更易于管理的过程中,我在root上设置RSA密钥,并在www-data上设置,以便我可以进入服务器.我不喜欢的是www-data的.ssh目录位于/ var / www中,这是apache的默认目录设置.我担心如果未正确配置apache,则可以公开.ssh目录.
我遇到了通过更改/ etc / ssh / sshd_config中的AuthorizedKeysFile将〜/ .ssh / authorized_keys文件移动到中心位置的解决方案.这附带2个专业人员:密钥的单一位置,而不必担心错误的apache配置.我能想到的单一骗局是现在每个用户都可以在服务器上登录(显然是中央密钥文件的双刃剑.)
在这个配置中有什么我错过的吗?我是否过度暴露自己,或者这是一个比单个authorized_keys文件更好的解决方案?
在服务器管理方面,我是绿色的,但我已经准备好做坏事了. :d
解决方法
所有密钥文件可以集中在同一目录中,而不是混合在同一个文件中.
只需像这样设置sshd_config文件:
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
在您的服务器上:
> www-data键将在/ etc / ssh / authorized_keys / www-data中
>根密钥将位于/ etc / ssh / authorized_keys / root中
关于访问权限,sshd接受这些设置:
/ etc / ssh / authorized_keys由root:root拥有并具有模式755.密钥文件由root拥有:root并具有模式644.
其他模式可能有效,但我没有测试过.