
Hoje configurei 3 servidores (4 incluindo o servidor que envia os comandos SSH) com uma chave SSH pública para poder automatizar alguns scripts
Funciona nos 2 primeiros sistemas, mas não no terceiro. O SSH ainda solicita a senha ao enviar um comando SSH
Gere chave pública/privada SSH no servidor local
root@local # ssh-keygen -t rsa
file > /var/.ssh_keys/id_rsa
passphrase > (empty)
root@local # ln -s /var/.ssh_keys/id_rsa /root/.ssh/id_rsa
Anexar chave a hosts remotos do servidor local
root@local # cat /var/.ssh_keys/id_rsa.pub | ssh root@host 'path="/var/.ssh_remote_key" && mkdir -p $path && cat >> $path/authorized_keys && ln -s $path/authorized_keys /root/.ssh/authorized_keys'
Servidor local
# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
# sshd -V
OpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1k 8 Jan 2015
Servidores remotos (em funcionamento)
# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
# sshd -V
OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016
Servidor remoto (ainda solicitando senha)
# uname -a
Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
# sshd -V
OpenSSH_6.7p1 Debian-5+deb8u2, OpenSSL 1.0.1k 8 Jan 2015
CHMOD /root/.ssh = 0700
CHMOD /root/.ssh/authorized_keys = 0644
Responder1
Como os dois servidores remotos compartilham versões semelhantes do Unix/OpenSSH, o problema pode estar na localização permission
dos arquivos na .ssh
pasta.
Por favor, confirme isso:
.ssh
as permissões de diretório não podem ser escritas em grupo/outro (por exemplo 700(drwx------)
ou 755(drwxr-xr-x)
- chave pública (arquivo .pub) e
authorized_keys
são 644(-rw-r--r--)
- chave privada (id_rsa) é 600
(-rw-------)
Se você estiver tentando fazer login root
no servidor remoto, deverá confirmar também se /etc/ssh/sshd_config
contém PermitRootLogin yes
ou PermitRootLogin without-password
.