我想要使some_file
用 rsync 从其他 Linux 服务器(Red Hat 5.3)复制到我的机器(Red Hat 5.3)
是否可以复制文件而不出现“权限被拒绝”?
备注-130.146.120.11机器上的登录名和密码是:
登录名=root 密码=moon
rsync -WavH --progress 130.146.120.11:/tmp/some_file .
Permission denied.
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(165)
答案1
看来您需要提供密码才能访问远程系统。您可以使用 来完成此操作--password-file=/path/to/file/containing/password
。
rsync -WavH --password-file=/$HOME/passfile --progress [email protected]:/tmp/some_file .
确保/$HOME/passfile are 600
(chmod 600 /$HOME/passfile
)上的权限,否则您的 root 密码可能会被看到。
答案2
rsync 可以连接到远程 shell(默认)或监听 TCP 端口 873 的 rsync 守护进程。由于您没有声明您正在运行 rsync 守护进程,并且您::
在主机字符串中没有使用双冒号,因此我假设您正在使用远程 shell 进行连接。您的 rsync 二进制文件很可能正在尝试使用 rlogin,这是一种非常古老且不安全的协议,通常在大多数较新的发行版中被禁用。使用远程 shell 时更可取的选项是通过共享密钥身份验证使用 SSH,然后在 rsync 命令中添加-e ssh
或参数。--rsh=ssh
rsync -WavH --progress -e ssh [email protected]:/tmp/some_file .
我还强烈建议您尽可能不要使用 root 用户执行此类操作。如果绝对需要 root 用户,我甚至会更强烈建议(这个词有用吗)您使用共享密钥而不是密码身份验证。
希望这可以帮助。
答案3
尝试使用:
rsync-WavH--进度[电子邮件保护]:/tmp/some_file 。
答案4
我不明白为什么你不简单地使用SSH 密钥认证。这将是最简单的...