Eu acho que a razão é que se o seu diretório home é gravável por outra pessoa, então um usuário mal-intencionado pode criar ~/.ssh
, adicionar as chaves desejadas e depois alterar as permissões para 700.
Mesmo que você já tenha um ~/.ssh
, ele pode simplesmente ser renomeado para outra e criado um novo.
No entanto, em sistemas modernos, esse truque geralmente não é possível devido a chown
funcionando apenas para o superusuário, isso nem sempre tem sido o caso:
In earlier versions of UNIX, all users could run the chown command to change the ownership of a file that they owned to that of any other user on the system. (http://www.diablotin.com/librairie/networking/puis/ch05_07.htm)
Se o chmod se comporta de uma forma ou de outra, depende das opções de compilação da libc , e por razões de segurança, o servidor OpenSSH é um pouco paranóico.