![如何解决将文件从 Linux Centos 7 传输到 Linux Synology 时需要密码的问题?](https://linux22.com/image/1695494/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%20Linux%20Centos%207%20%E4%BC%A0%E8%BE%93%E5%88%B0%20Linux%20Synology%20%E6%97%B6%E9%9C%80%E8%A6%81%E5%AF%86%E7%A0%81%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我尝试将文件从 Linux Centos 7 机器传输到 Linux Synology。使用scp
以下命令没有问题:,之后将按预期提示输入密码。但是,当将此命令作为 bash 脚本的一部分时,这是一个问题——密码提示会很麻烦。不过,有一种方法可以克服它,例如,使用一对生成的密钥:使用 RSA 算法的私钥和公钥。此操作由以下命令实现:生成一对密钥,然后将公钥复制到远程机器。如果完成此操作,例如,对于两台 Centos 7 机器,则一切正常:命令和工作正常,无需提示密码。但是,如果其中一台 Linux 机器是 Synology,那就有问题了。scp example1.txt [email protected]
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh [email protected]
scp example1.txt [email protected]
问题
这个问题能解决吗?
答案1
这可能是 Synology 上的权限问题。(该ssh
工具非常担心第三方能够破坏基于密钥的身份验证过程。)
采纳建议如何通过 SSH 使用 RSA 密钥对登录 DSM?这是重点部分:
- 进入控制面板 > 用户和群组(适用于 DSM 7.0 及以上版本)或用户(适用于 DSM 6.2.4)> 高级 > 用户主目录,然后勾选启用用户主目录服务。
- 确保“homes”共享文件夹使用默认权限。非管理员用户不得被授予任何读取或写入权限。
如果您的“homes”文件夹具有非标准权限,则服务器ssh
将不信任您在其中安装的证书~/.ssh/authorized_keys
。