Chave SSH

De Wiki Hackstore

ATENÇÃO! suporte a chave do tipo DSA é desativado por default nas versões mais novas do OpenSSH. Mais infos: [1] [2] [3]


Esses comandos abaixo devem ser executados no cliente que se conectará sem senha (ORIGEM):


Chave ed25519 (recomendado)

Pode ocorrer de a versão do SSH estar configurada para utilizar por padrão chave RSA. Em todo caso, basta repetir os comandos acima trocando apenas o arquivo de chave pública conforme exemplo abaixo. Caso você seja paranóico com NSA e governos (no plural mesmo) e queira uma chave teoricamente mais segura que RSA, recomendamos o tipo ed25519.

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub | ssh root@IP_SERVIDOR_DESTINO 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_ed25519.pub | ssh root@IP_SERVIDOR_DESTINO 'chmod 600 ~/.ssh/authorized_keys'
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys


Chave RSA

Essa é a chave default:

ssh-keygen -t rsa -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub | ssh root@IP_SERVIDOR_DESTINO 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_rsa.pub | ssh root@IP_SERVIDOR_DESTINO 'chmod 600 ~/.ssh/authorized_keys'
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


Chave DSA (obsoleto em versões 7.x do openSSH)

ssh-keygen -t dsa -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub | ssh root@IP_SERVIDOR_DESTINO 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_dsa.pub | ssh root@IP_SERVIDOR_DESTINO 'chmod 600 ~/.ssh/authorized_keys'
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


Soluções de problemas comuns

Caso ocorra erro no log do servidor destino conforme abaixo:

Jun 15 09:25:48 hackstore sshd[29315]: Authentication refused: bad ownership or modes for directory /root
Jun 15 09:25:48 hackstore sshd[29315]: last message repeated 2 times


Basta corrigir as permissões do diretório do usuário destino. Ex:

chmod g-w /root/
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys