He estado luchando con esto durante días y no puedo encontrar qué estoy haciendo mal.
Tengo un sitio web en un servidor VPS. Todas las noches hago una copia de seguridad de la base de datos. Se almacena en mi servidor VPS. También quiero enviar una copia a mi NAS (Synology DS214play) de casa. Ambos servidores operan en Linux.
Así que inicié sesión en mi servidor VPS (como root) y generé un archivo ssh-keygen
.
En mi VPS se ve así:
[root@vps /]# cd ~
[root@vps ~]# ls -alh
dr-xr-x---. 7 root root 4.0K Jun 25 18:58 .
dr-xr-xr-x. 24 root root 4.0K Jun 25 19:33 ..
drwx------ 3 root root 4.0K Jun 25 20:29 .ssh
[root@vps ~]# cd .ssh
[root@vps .ssh]# ls -alh
drwx------ 3 root root 4.0K Jun 25 20:29 .
dr-xr-x---. 7 root root 4.0K Jun 25 18:58 ..
-rw------- 1 root root 1.7K Jun 26 07:27 id_rsa
-rw-r--r-- 1 root root 403 Jun 26 07:27 id_rsa.pub
-rw------- 1 root root 394 Jun 25 20:29 known_hosts
Luego copié el archivo al NAS usandossh-copy-id
admin@NAS:/$ cd ~
admin@NAS:~$ ls -alh
drwxrwxrwx 6 admin users 4.0K Jun 26 07:28 .
drwxrwxrwx 13 root root 4.0K Jun 21 20:57 ..
drwx------ 2 admin users 4.0K Jun 26 07:28 .ssh
admin@NAS:~$ cd .ssh
admin@NAS:~/.ssh$ ls -alh
drwx------ 2 admin users 4.0K Jun 26 07:28 .
drwxrwxrwx 6 admin users 4.0K Jun 26 07:28 ..
-rw------- 1 admin users 403 Jun 26 07:27 authorized_keys
Al mirar dentro VPS/id_rsa.pub
veo NAS/authorized_keys
que ambas claves son idénticas.
Ahora estoy intentando copiar un archivo de prueba del VPS al NAS usando:
[root@vps /]# scp -i ~/.ssh/id_rsa /test.txt admin@___.___.___.___:/volume1/SQL_backup
Sin embargo, eso da como resultado que Shell me pida la contraseña (siempre).
¿Cómo es que tengo que seguir dando mi pase?
Respuesta1
Al solucionar problemas con demonios, siempre debe verificar los registros del sistema.
En este caso particular, si revisa los registros de su sistema en el NAS
host, verá algo similar a:
Authentication refused: bad ownership or modes for directory /home/admin
El problema se muestra en este resultado:
admin@NAS:~$ ls -alh
drwxrwxrwx 6 admin users 4.0K Jun 26 07:28 .
Por seguridad, SSH se negará a utilizar el authorized_keys
archivo si cualquier antecesor del ~/.ssh
directorio puede ser escrito por alguien que no sea el usuario o raíz (antepasado significa /home/user/.ssh
, /home/user
, /home
, /
). Esto se debe a que otro usuario podría reemplazar el ~/.ssh
directorio (o ~/.ssh/authorized_keys
archivo) con el suyo propio y luego acceder mediante ssh a su usuario.
Para solucionarlo, cambie los permisos en el directorio con algo como:
chmod 755 ~
Respuesta2
¿Existe alguna posibilidad de que haya creado una contraseña para su clave privada mientras la creaba usando ssh-keygen
.
El siguiente es el flujo de trabajo que uso:
ssh-keygen
ssh-copy-id root@remote_host
scp /test.text root@remote_host:/opt/application/