我尝试使用 scp 将文件从我的 Windows 系统复制到我的 Ubuntu 服务器,反之亦然。如您所知,在 Windows 中定义路径时,必须使用“\”而不是“/”,并在开头使用“C:”。
由于每个关于 scp 的操作指南都只包含 linux-to-linux 语法,因此我使用这些语法在需要时替换 Linux 对应语法。也就是说,我使用格式“C:\FOLDER\FOLDER\FILE”作为参数的 Windows 部分。
然而,正如我所看到的,文件复制一直失败,并显示以下消息:
“ssh:无法解析主机名 C:没有此文件或目录
失去连接”
对于我做错的事情有什么建议吗?
答案1
听起来您正在尝试从现有的 PuTTY ssh 会话内部通过 scp 返回到 Windows 系统 - 除非 Windows 上运行着 SSH 服务器,否则这将不起作用。
PuTTY 本身不是 scp 客户端,但是“完整”的 Windows 安装附带了一个名为 的命令行客户端pscp
。它的语法几乎完全符合您的预期,即host:/path/to/file/
远程主机上的目标文件采用 *nix 样式,本地系统的路径采用 Windows 样式 - 例如
C:\Users\steeldriver>"C:\Program Files (x86)\PuTTY\pscp.exe" [email protected]:/home/steeldriver/tests.tar C:\Users\steeldriver\Downloads\linuxtests.tar
[email protected]'s password:
linuxtests.tar | 10 kB | 10.0 kB/s | ETA: 00:00:00 | 100%
C:\Users\steeldriver>
本地路径可以是绝对路径,C:\path\to\newfile
也可以是相对路径..\newdir\newfile
但是如果你需要在 *nix 和 Windows 之间定期 scp 文件,你可能会发现使用专用客户端(如 WinSCP)更容易