O comando SCP fica pedindo senha

1

Eu tenho lutado por dias com isso agora e não consigo encontrar o que estou fazendo de errado.

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

Então eu entrei no meu servidor VPS (como root) e gerou um 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

Depois copiei o arquivo para o NAS usando ssh-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 para VPS/id_rsa.pub e NAS/authorized_keys , vejo 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

Isso, no entanto, resulta no shell pedindo a senha (todas as vezes).

Por que eu tenho que continuar dando meu passe?

    
por LinkinTED 26.06.2016 / 07:43

2 respostas

6

Ao solucionar problemas com daemons, você deve sempre verificar os logs do sistema.
Nesse caso específico, se você verificar os logs do sistema no NAS host, 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 arquivo authorized_keys se qualquer ancestral do diretório ~/.ssh for gravável por alguém que não seja o usuário ou raiz (ancestor que significa /home/user/.ssh , /home/user , /home , %código%). Isso ocorre porque outro usuário pode substituir o diretório / (ou ~/.ssh file) pelo seu próprio e, em seguida, o ssh em seu usuário.

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

chmod 755 ~
    
por 26.06.2016 / 08:29
2

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

A seguir, 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/
por 26.06.2016 / 07:55