Команда SCP продолжает спрашивать пароль

Команда SCP продолжает спрашивать пароль

Я уже несколько дней бьюсь с этим и не могу понять, что я делаю не так.

У меня есть сайт на VPS-сервере. Каждую ночь я делаю резервную копию базы данных. Она хранится на моем VPS-сервере. Я также хочу отправить копию на свой NAS (Synology DS214play) дома. Оба сервера работают на Linux.

Итак, я вошел на свой VPS-сервер (как root) и сгенерировал файл ssh-keygen.

На моем VPS это выглядит так:

[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

Затем я скопировал файл на NAS с помощью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

При взгляде VPS/id_rsa.pubя NAS/authorized_keysвижу, что оба ключа идентичны.

Теперь я пытаюсь скопировать тестовый файл с VPS на NAS с помощью:

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

Однако это приводит к тому, что Shell каждый раз запрашивает у меня пароль.

Почему мне приходится постоянно отдавать свой пропуск?

решение1

При устранении неполадок с демонами всегда следует проверять системные журналы.
В этом конкретном случае, если вы проверите системные журналы на NASхосте, вы увидите что-то похожее на:

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

Проблема показана в этом выводе:

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

В целях безопасности SSH откажется использовать authorized_keysфайл, если любой предок каталога ~/.sshдоступен для записи кому-либо, кроме пользователя или root (предок означает /home/user/.ssh, /home/user, /home, /). Это связано с тем, что другой пользователь может заменить ~/.sshкаталог (или ~/.ssh/authorized_keysфайл) своим собственным, а затем подключиться по ssh к вашему пользователю.

Чтобы исправить это, измените права доступа к каталогу, например:

chmod 755 ~

решение2

Возможно, вы создали пароль для своего закрытого ключа при его создании с помощью ssh-keygen.

Ниже приведен рабочий процесс, который я использую:

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

Связанный контент