Como adicionar uma chave SSH Pública a um servidor remoto automaticamente
Hoje precisei configurar um servidor novo em uma VPS que estou testando. E para
agilizar o processo de login via SSH, precisei adicionar uma chave pública do
meu PC neste servidor, no arquivo de authorized_keys
.
Pra não precisar conectar manualmente no servidor, criar um arquivo
authorized_keys
, abrir e copiar o conteúdo da chave de maneira como os homens
das cavernas faziam, utilizei o seguinte comando na minha máquina, que ficou
assim:
cat ~/.ssh/id_rsa.pub | ssh user@ip_do_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Para rodar o comando, você só precisa trocar o nome de usuário e o ip do host onde deseja se conectar. Dessa maneira, as próximas conexões já serão autenticadas automaticamente.
Existe uma chance que o arquivo recém criado authorized_keys
e o diretório
.ssh
, tenham as permissões de acesso diferentes do necessário, e os acessos
continuem pedindo senha. Pra corrigir, basta conectar mais uma vez ao servidor
remoto, e rodar o seguinte comando:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
E é isso. Espero que seja útil.
Fonte: askubuntu.com