今天是个好日子。我正在尝试通过 ssh 同步到我的 Manjaro 服务器。没什么花哨的,只是一个 PNG 来验证它是否有效。我正在使用基本的密码身份验证,以便在开始提供额外的安全性之前验证它是否可以正常运行。
rsync -v -e ssh /home/john/rsyncdemo/rsyncdemo2/saved.png [email protected]:/home/sshuser/Desktop/rsyncdemo/rsyncdemo2/saved.png
当我这样做时,大约 10 秒后我收到以下错误。
ssh: connect to host 192.162.2.187 port 22: Connection timed out
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]
我对 ssh 并不陌生,但这超出了我对深层内部工作原理的有限理解。我用谷歌搜索了这个问题,但我不想在没有首先了解问题的情况下向我的系统抛出任意解决方案。我将解释我所做的事情以收集更多信息。我有3个系统。
- 带 Cygwin 的 Win10-PC(完全更新)(Atheros Wireless)
- Arch-Laptop(完全更新)(Atheros Wireless)
- Manjaro-Server(完全更新)(有线)
+路由器
- 华硕RT-N10P
我检查的第一件事是 sshd。在所有 3 台机器上启用并重新启动 sshd。值得注意的是,我的 Manjaro 是全新安装的。 Arch 已被修改,但系统非常小。 Cygwin 也是新的,但自从我重新安装 Windows 以来已经有一段时间了,并且我有一些东西在后台运行。我还转发了端口并禁用了路由器上的防火墙。
运行三个命令。
ssh [email protected]
rsync -r /cygdrive/c/Users/John/Desktop/rsyncdemo/ /cygdrive/e/rsyncdemo/
scp /cygdrive/c/Users/John/Desktop/rsyncdemo/rsyncdemo2/saved.png [email protected]:/home/sshuser/Desktop/rsyncdemo/rsyncdemo2/
所有这些命令都有效。这意味着:通过 ssh 登录到机器可以工作,将文件复制到服务器可以工作,rsync 可以工作。当我尝试通过 ssh 进行 rsync 时,问题就存在。存在两种可能性之一。要么服务器有问题,要么我错过了在两台客户端计算机上配置 ssh 的一些基本步骤。更有可能是前者。就像我说的,我之前有过设置 ssh 的经验,前几次并不难。我首先检查我正在运行的 ssh 和 rsync 版本。
Win10-PC(sshd启用并启动)
OpenSSH_7.5p1, OpenSSL 1.0.2k 26 Jan 2017
Arch-Laptop(sshd 已启用并启动)
OpenSSH_7.5p1, OpenSSL 1.1.0f 25 May 2017
Manjaro-Server(sshd 已启用并启动)
OpenSSH_7.5p1, OpenSSL 1.1.0f 25 May 2017
所有 3 台机器
rsync version 3.1.2 protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, prealloc
您可能已经注意到 openssl 的 Cygwin 版本不如其他两个版本高。我认为这不会导致问题,因为 Arch 也无法连接到网络。就像我之前说的,要么服务器有问题,要么我错过了在两台客户端计算机上配置 ssh 的一些基本步骤。
我也阅读了此线程,但我不确定所选答案是否希望我在客户端主机上配置 ssh_config 文件。无论哪种情况,一个简单的 png 都不应该花这么长时间来进行 rsync,所以我怀疑它与问题有什么关系,但我将把它留在这里以防万一
如果你的脑海里立刻就有了答案,那就太棒了。如果您不这样做,那么发布一些可以帮助进一步隔离问题的内容将同样受到赞赏。非常感谢你的帮助。
答案1
当IP地址不正确时会发生这种情况:
ssh: connect to host **192.168.1.146** port 22: Connection timed out
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.2]
root@arc:/home/arc# rsync -rvzaX --delete /home/arc/nikhil/ \backupserver@**192.168.0.146**:/home/backupserver/mega
[email protected]'s password:
sending incremental file list
created directory /home/backupserver/mega
./
Nikhil Daily Tracking Sheet_2018.xlsx
sent 6,896 bytes received 84 bytes 1,073.85 bytes/sec
total size is 9,975 speedup is 1.43