如何使用SSH / SCP 从服务器下载文件

Anonim

用户可以通过在命令行中使用 scp 工具,使用 SSH 从任何远程服务器安全地下载文件。从本质上讲,这意味着您可以将文件安全地存储在远程服务器上并将其传输到本地存储,而不必将该文件暴露给外界,因为 scp 提供相同级别的安全性并且需要与 ssh 相同的身份验证。

使用 scp 安全下载文件主要针对在 macOS X、bsd 或 linux 中定期使用 ssh 和命令行的高级用户。对于有足够命令行经验的人来说,使用 ssh 和 scp 下载远程文件很简单,而且很方便,文件传输完成后,远程连接就会结束。这使得 scp 优先于 sftp 进行快速文件下载,尽管如果你愿意,你显然也可以使用 sftp。

使用SSH安全复制从远程服务器下载文件

这假定远程服务器的ssh 处于活动状态,并且如果您能够通过ssh 进入计算机,那么它也可能具有scp 活动状态。如果你没有远程服务器来尝试这个,你可以在 Mac OS X 机器之间尝试,或者如果你事先在 Mac 上启用了 ssh 和远程登录,则可以使用本地主机。

使用scp(secure copy)安全下载远程文件的基本语法如下,根据需要替换用户、服务器、路径和目标:

scp user@server:/path/to/remotefile.zip /Local/Target/Destination

例如,要将文件下载到位于服务器IP 192.168.0.45 上远程用户“osxdaily”的主目录下名为“filename.zip”的本地桌面,语法如下:

% scp [email protected]:filename.zip ~/Desktop/ 密码:filename.zip 100% 126 10.1KB/s 00:00 %

假设身份验证正确,目标文件将立即开始下载到目标目的地,随着文件下载的进行,提供完成百分比、下载速度和经过的传输时间。

与命令行一样,指定准确的语法很重要。

如果文件或路径名称中有空格,可以在路径上使用引号或转义,如下所示:

"

scp [email protected]:/some remote directory/filename.zip>"

scp 也可用于通过调整语法将文件安全地放置在远程服务器上,但我们在这里专注于下载文件而不是上传文件。

如果您是 ssh 新手并自己测试过,并且之前从未连接到远程服务器,系统将要求您确认是否要实际连接到远程服务器机器。看起来是这样,并且需要在下载开始之前回答“是”或“否”。 % scp [email protected]:filename.zip ~/Desktop/ 无法确定主机“192.168.0.4 (192.168.0.4)”的真实性。 ECDSA 密钥指纹为 SHA256:31WalRuSLR83HALK83AKJSAkj972JJA878NJHAH3780。您确定要继续连接吗(是/否)?是 警告:将“192.168.0.4”(ECDSA) 永久添加到已知主机列表中。密码:文件名.zip 100% 126 0.1KB/s 00:00 %

再次,假设连接通过并且登录成功,远程文件将从目标服务器下载到本地主机。

也可以使用scp从远程服务器下载多个文件:

scp user@host:/remote/path/\{file1.zip, file2.zip\} /Local/Path/

像这样使用ssh 进行远程文件下载最适合需要身份验证的安全传输。当然,您也可以使用 curl 或 wget 从远程服务器下载文件,但是使用 curl 和 wget 访问的文件往往也可以从外部世界访问,而 ssh 和 scp 需要身份验证或密钥,并使用 3DES 加密,这使得它相当更安全。

如何使用SSH / SCP 从服务器下载文件