O comando SCP continua pedindo senha

O comando SCP continua pedindo senha

Estou lutando há dias com isso e não consigo encontrar o que estou fazendo de errado.

Eu tenho um site em um servidor VPS. Todas as noites faço um backup do banco de dados. Ele é armazenado no meu servidor VPS. Também quero enviar uma cópia para meu NAS (Synology DS214play) em casa. Ambos os servidores operam em Linux.

Então, entrei no meu servidor VPS (como root) e gerei um arquivo ssh-keygen.

No meu VPS é assim:

[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

Então copiei o arquivo para o 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

Ao olhar VPS/id_rsa.pub, NAS/authorized_keysvejo que ambas as chaves são idênticas.

Agora estou tentando copiar um arquivo de teste do VPS para o NAS usando:

[root@vps /]# scp -i ~/.ssh/id_rsa /test.txt admin@___.___.___.___:/volume1/SQL_backup

No entanto, isso faz com que o Shell me peça a senha (todas as vezes).

Por que tenho que continuar dando meu passe?

Responder1

Ao solucionar problemas com daemons, você deve sempre verificar os logs do sistema.
Neste caso específico, se você verificar os logs do sistema no NAShost, verá algo semelhante a:

Authentication refused: bad ownership or modes for directory /home/admin

O problema é mostrado nesta saída:

admin@NAS:~$ ls -alh
drwxrwxrwx  6 admin users 4.0K Jun 26 07:28 .

Por segurança, o SSH se recusará a usar o authorized_keysarquivo se qualquer ancestral do ~/.sshdiretório puder ser gravado por alguém que não seja o usuário ou root (ancestral significando /home/user/.ssh, /home/user, /home, /). Isso ocorre porque outro usuário pode substituir o ~/.sshdiretório (ou ~/.ssh/authorized_keysarquivo) pelo seu próprio e, em seguida, fazer ssh no seu usuário.

Para corrigir, altere as permissões no diretório com algo como:

chmod 755 ~

Responder2

Qualquer chance de você ter criado uma senha para sua chave privada ao criá-la usando ssh-keygen.

A seguir está o fluxo de trabalho que uso:

  1. ssh-keygen
  2. ssh-copy-id root@remote_host
  3. scp /test.text root@remote_host:/opt/application/

informação relacionada