Quando migrei meu computador do Ubuntu 14.04 LTS para o 16.04LTS, tive uma surpresa: não conseguia acessar os computadores remotos que eu administrava via SSH. O que aconteceu?
Com o Ubuntu 16, vem também uma nova versão do OpenSSH que é atualizado para o OpenSSH 7.0. Nas notas da versão do OpenSSH 7.0 podemos ver que "O suporte para as chaves de host e de usuário do ssh-dss está desativado por padrão em tempo de execução". Isto quer dizer que apesar de você ter as chaves no diretório .ssh, o cliente ssh do seu computador não vai nem ligar para elas.
A solução é bastante simples. Basta adicionar a seguinte linha ao arquivo ~/.ssh/config em cada máquina cliente, isto é, em cada computador onde você executa o cliente SSH. No meu caso, era somente na máquina recém atualizada.
Com o Ubuntu 16, vem também uma nova versão do OpenSSH que é atualizado para o OpenSSH 7.0. Nas notas da versão do OpenSSH 7.0 podemos ver que "O suporte para as chaves de host e de usuário do ssh-dss está desativado por padrão em tempo de execução". Isto quer dizer que apesar de você ter as chaves no diretório .ssh, o cliente ssh do seu computador não vai nem ligar para elas.
A solução é bastante simples. Basta adicionar a seguinte linha ao arquivo ~/.ssh/config em cada máquina cliente, isto é, em cada computador onde você executa o cliente SSH. No meu caso, era somente na máquina recém atualizada.
PubkeyAcceptedKeyTypes=+ssh-dss
OBS:
Se você atualizou algum servidor e ele esteja utilizando o OpenSSH 7.0 ou mais recente, você também precisará incluir a linha mostrada acima autorizando o uso do DSA no arquivo de configuração do openssh-server. Este arquivo é /etc/ssh/sshd_config. Como no meu caso, minha estação também tem o servidor SSH habilitado (para eu poder mexer nela remotamente), eu tive que acrescentar a linha também neste arquivo. Você precisa reiniciar o serviço para que a alteração funcione:service ssh restart
Comentários
Postar um comentário