📅  最后修改于: 2023-12-03 14:58:06.080000             🧑  作者: Mango
SSH 是一种加密的网络协议,可以通过它来连接到远程服务器或者虚拟机。在使用 SSH 时,我们可以通过 SSH 的扩展功能,比如 SCP 或者 SFTP,来上传或者下载文件到服务器上。但是,有些服务器可能会禁止 SCP 或者 SFTP,只开放 SSH 端口,那么我们该如何下载文件呢?
如果您的 SSH 服务器已经支持 SFTP,那么您可以直接通过 SFTP 来下载文件:
sftp -P {port} user@host:/path/to/remote/file /path/to/local/file
这里的 {port}
为 SSH 的端口号,user
和 host
分别是您的账户和服务器的地址。/path/to/remote/file
则是需要下载的文件路径,/path/to/local/file
则是将文件下载到本地的路径。
在有些情况下,我们可以通过 tar
命令来将需要下载的文件打包,并通过 SSH 连接来下载打包后的文件。
首先,在远程服务器上,使用 tar
命令将需要下载的文件打包:
tar czvf /tmp/files.tar.gz /path/to/remote/file
这里 /tmp/files.tar.gz
则是打包后的文件路径,/path/to/remote/file
则是需要下载的文件路径。
然后,使用 SSH 连接到远程服务器,并将打包后的文件下载到本地:
ssh -p {port} user@host "cat /tmp/files.tar.gz" | tar zxvf - /path/to/local/file
这里,{port}
、user
和 host
的含义与上面相同。/tmp/files.tar.gz
则是打包后的文件路径。|
符号将远程服务器的文件内容通过管道传递给本地的 tar
命令,然后解包到本地的 /path/to/local/file
。
通过本文,您了解了两种通过带有端口的 SSH 下载文件的方法。通过口号连接服务器然后用SFTP,或者是利用tar
命令将文件归档后下载。