Generar clave pública/privada SSH en el servidor local

Generar clave pública/privada SSH en el servidor local

Hoy configuré 3 servidores (4 incluido el servidor que envía los comandos SSH) con una clave SSH pública para poder automatizar algunos scripts.

Funciona en los 2 primeros sistemas pero no en el tercero. SSH aún solicita la contraseña al enviar un comando SSH

Generar clave pública/privada SSH en el 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

Agregar clave a hosts remotos desde el 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 (en funcionamiento)

# 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 (aún solicita la contraseña)

# 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

Respuesta1

Dado que los dos servidores remotos comparten una versión similar de Unix/OpenSSH, el problema podría estar en los permissionarchivos de la .sshcarpeta.

Por favor confirme eso:

  • .sshLos permisos de directorio no se pueden escribir en grupo/otro (por ejemplo, 700 (drwx------) o 755) .(drwxr-xr-x)
  • clave pública (archivo .pub) y authorized_keysson 644(-rw-r--r--)
  • la clave privada (id_rsa) es 600(-rw-------)

Si está intentando iniciar sesión en rootel servidor remoto, debe confirmar también que /etc/ssh/sshd_configcontenga PermitRootLogin yeso PermitRootLogin without-password.

información relacionada