Como tinha postado anteriormente. Estou trabalhando muito e com isso não estou tendo tempo suficiente para me dedicar ao blog.
Porem hoje achei um tempo para escrever sobre um pequeno problema, mais que me deu muita dor de cabeça para resolver.
Vamos lá.
Dias atrás precisei montar um servidor para fazer 9 conexões via ssh sem pedir a senha do usuário.
Fiz todo o procedimento correto de criar uma chave no servidor e sair distribuído essa chave para os servidores cliente. Ate aqui tudo andava corretamente.
1º procedimento
# ssh-keygen -t rsa -f ~/.ssh/id_rsa
2º procedimento
Iniciei a distribuição das chaves para os servidores cliente.
# cat ~/.ssh/id_rsa.pub | ssh usuario@xxx.xxx.xxx.xxx ‘cat – >> ~/.ssh/authorized_keys’
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
1 Servidor – ok
2 Servidor – ok
.
.
.
9 Servidor – ok
3º procedimento
Ao tentar conectar via ssh no 9º servidor o mesmo pedia senha.
Recriei novas chaves, fiz todo o procedimento novamente e nada. Toda tentativa de conectar via ssh o servidor cliente pedia uma senha.
Depois de varias horas perdidas tentando efetuar uma conexão ssh, resolve da uma olhada no Log. Pela minha surpresa apareceu o seguinte erro.
# Dec 14 16:27:39 Servidor09 sshd[14746]: Authentication refused: bad ownership or modes for file /home/usuario/.ssh/authorized_keys
Ai comecei a fazer algumas pesquisas. Olhei permissão dos diretórios, dei permissão e nada de conseguir a conexão ssh sem pedir a senha.
Mas como tudo tem um segredinho. Verifiquei o sshd.config do servidor cliente e la estava o pequeno detalhe.
StrictModes yes
Fiz a seguinte alteração
StrictModes no
A opção StrictModes especifica se o ssh deve verificar permissões do usuário em seu diretório home e rhosts antes de aceitar login.