Will Ware Asked: 2018-02-28 11:40:14 +0800 CST2018-02-28 11:40:14 +0800 CST 2018-02-28 11:40:14 +0800 CST “sort”和“uniq”对 authorized_keys 文件做了什么坏事? 772 我尝试了一些在我看来应该有效的方法。我有一堆我想导入的公共 ssh 密钥,所以我这样做了。 cat public_ssh_keys .ssh/authorized_keys | sort | uniq > AK mv AK .ssh/authorized_keys 这是在 EC2 实例上,突然我无法再登录了。我没有尝试研究这个,只是想知道是否有人知道这里会失败什么? ssh login 1 个回答 Voted Best Answer ilkkachu 2018-02-28T12:26:45+08:002018-02-28T12:26:45+08:00 如果您的默认值umask类似于0002,那么将创建AK新的并因此.ssh/authorized_keys拥有所属组的写权限。sshd不喜欢那样,因为这可能允许其他一些用户修改文件并以您的帐户登录。默认情况下 umask 是什么取决于系统。 (如果有人真的可以这样做取决于是否有任何其他用户是同一组的成员,以及您的主目录的权限是什么~/.ssh,但它不会费心检查那么远。) 对于authorized_keys,其他人的读取访问不是服务器关心的事情:它只包含密钥的公共部分,而且它们并不是那么敏感。 因此,ls -l .ssh/authorized_keys要检查权限,然后chmod 600 .ssh/authorized_keys(或类似的)检查权限是否过多。 sort并且uniq不应该对文件做任何坏事,它只包含文本行,它们的顺序无关紧要。
如果您的默认值
umask
类似于0002
,那么将创建AK
新的并因此.ssh/authorized_keys
拥有所属组的写权限。sshd
不喜欢那样,因为这可能允许其他一些用户修改文件并以您的帐户登录。默认情况下 umask 是什么取决于系统。(如果有人真的可以这样做取决于是否有任何其他用户是同一组的成员,以及您的主目录的权限是什么
~/.ssh
,但它不会费心检查那么远。)对于
authorized_keys
,其他人的读取访问不是服务器关心的事情:它只包含密钥的公共部分,而且它们并不是那么敏感。因此,
ls -l .ssh/authorized_keys
要检查权限,然后chmod 600 .ssh/authorized_keys
(或类似的)检查权限是否过多。sort
并且uniq
不应该对文件做任何坏事,它只包含文本行,它们的顺序无关紧要。