Eu tentei algo que me pareceu que deveria ter funcionado. Eu tinha um monte de chaves ssh públicas que queria importar, então fiz isso.
cat public_ssh_keys .ssh/authorized_keys | sort | uniq > AK
mv AK .ssh/authorized_keys
Isso foi em uma instância do EC2 e, de repente, não consegui mais fazer login. Eu não tentei pesquisar isso, apenas me perguntando se alguém sabe de cabeça o que falharia aqui?
Se o seu padrão
umask
for algo como0002
, entãoAK
o novo.ssh/authorized_keys
será criado com permissão de gravação para o grupo proprietário.sshd
não gosta disso, pois pode permitir que outro usuário modifique o arquivo e faça login em sua conta. Qual é o umask por padrão, depende do sistema.(Se alguém realmente pode fazer isso depende se algum outro usuário é membro do mesmo grupo e quais
~/.ssh
são as permissões do seu diretório pessoal, mas não se preocupa em verificar isso.)Para
authorized_keys
, o acesso de leitura por outros não é algo com o qual o servidor se preocupa: ele contém apenas as partes públicas das chaves e elas não são tão confidenciais.Então,
ls -l .ssh/authorized_keys
para verificar as permissões e depoischmod 600 .ssh/authorized_keys
(ou algo assim), se houver muito acesso.sort
euniq
não deve fazer nada de mal ao arquivo, ele contém apenas linhas de texto e sua ordem não importa.