我尝试将文件从 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
。