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

然后我使用以下命令将文件复制到 NASssh-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.pubNAS/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 .

authorized_keys为了安全起见,如果目录的任何祖先~/.ssh可由用户或 root 以外的其他人写入(祖先含义/home/user/.ssh, /home/user, /home, /),则 SSH 将拒绝使用该文件。这是因为其他用户可以用自己的~/.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/

相关内容