Note que
touch ~/.ssh/authorized_keys
chmod go-rwx ~/.ssh/authorized_keys
echo '... me@machine' >> ~/.ssh/authorized_keys
não oferece benefícios sobre:
echo '... me@machine' >> ~/.ssh/authorized_keys
chmod go-rwx ~/.ssh/authorized_keys
As permissões são verificadas ao abrir um arquivo, e não ao ler ou gravar nele.
Portanto, não importa se você faz o chmod
antes ou depois de adicionar o conteúdo. Alguém ainda pode abrir o arquivo antes de você fazer o chmod
, mas espere que você adicione conteúdo antes de lê-lo.
Aqui, você quer garantir que o arquivo tenha as permissões certas desde o início:
sudo -u user sh -c '
umask 077 && printf "%s\n" "$1" >> ~/.ssh/authorized_keys
' sh "$key user@host"