本站重新定位为
分享技术和经验的个人博客

VPS Linux服务器利用SCP或SFTP远程上传下载

    有很多朋友现在还不太会管理VPS的文件,其实常用的连接方式无非有三种,SCP、SFTP和FTP。一般来说,最常用的是SCP和SFTP,因为使用的为服务器默认的SSH协议,不需要额外安装任何包(FTP需要安装才能使用)。所以今天TT主要教给大家如何利用SCP或SFTP轻松的管理自己服务器上的文件,并推荐给大家几款软件。

SCP or SFTP:用哪个?(转载至知乎)

scpsftp都用于传输文件,但根据速度,安全性和功能的要求,这两种协议各有优劣。 本文比较了scpsftp,以帮助您选择最适合您的安全文件传输协议。

什么是scpscp是一种基于SSH的协议,可在网络上的主机之间提供文件传输。 使用scp,您可以在主机之间快速传输文件以及基本文件属性,例如访问权限和通过FTP无法可用的时间戳。 该协议使用RCP传输文件和SSH以提供身份验证和加密。

什么是sftpsftp是一种更强大的文件传输协议,也基于SSH。 更像是远程文件管理协议,sftp允许对远程文件(查看目录,删除文件和目录等)进行一系列操作。

什么时候应该使用scp或sftp?

  • 速度 – 在传输文件时,scp通常比sftp快得多,尤其是在网络延迟很高的情况下。这是因为scp实现了更高效的传输算法,不需要等待数据包确认。此时应该使用哪种协议? scp
  • 安全性 – 由于两种协议都都基于SSH,因此它们都提供相同的安全功能,包括密码和数据加密以及公钥验证。此时应该使用哪种协议? scpsftp
  • 功能/可用性 – scp提供的功能不同于其名称所暗示的那样:安全地复制文件(Secure copy)。如果您或您的用户将管理文件(包括查看/搜索目录,创建文件夹和组织文件,删除或重命名文件等),sftp是优秀的协议。此外,sftp还支持断点续传,这在网络连接不佳的环境中将大有帮助。此时应该使用哪种协议? sftp
  • 传输文件大小 – scpsftp都没有文件大小限制。但是,根据文件的大小,scp的文件传输速度可能会有所帮助。此时应该使用哪种协议?根据您的用户需求

结论

在通过SSH进行文件传输时,scpsftp都有各自的优势。由于它们都使用SSH并共享安全功能,因此“更好”的协议取决于您的环境要求。许多文件传输服务软件(如Cerberus FTP)能够同时实现这两种协议,为用户和客户提供最灵活的FTP解决方案。

在终端的使用方法(无需下载软件)

言归正传,在简要介绍之后就是我们的实战环节。首先我们介绍传统的非软件的基于命令行的scp的用法(算是一个基础,学会了比较有用处,能够应对紧急情况)。在这里以macOS X(各Linux发行版也有终端,Windows10新版本的cmd也支持)的终端为例。

对远程服务器上的远程文件(夹)的操作

1、对拷文件夹 (包括文件夹本身)

示例:

scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp

2、对拷文件夹下所有文件 (不包括文件夹本身)

示例:

scp /home/wwwroot/www/charts/util/* root@192.168.1.65:/home/wwwroot/limesurvey_back/scp

3、对拷文件并重命名

示例:

scp /home/wwwroot/www/charts/util/a.txt root@192.168.1.65:/home/wwwroot/limesurvey_back/scp/b.text

参数说明:

/home/wwwroot/www/charts/util/           本地绝对路径

a.txt                                                     要拷贝

root                                                      通过root用户登录到远程服务器

192.168.1.65                                       远程服务器的ip地址

/home/wwwroot/limesurvey_back/scp  复制到远程服务器上的路径      (注意ip地址后有:)

注: 通常还在后面输入用户名和密码

将远程服务器上的文件复制到本机

示例:

scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

参数说明:

remote                       通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.abc.com              远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh           欲复制到本机的位于远程服务器上的文件

/home/administrator  将远程文件复制到本地的绝对路径

注意两点:

1.如果远程服务器的SSH非22端口(如搬瓦工VPS默认即为非22端口),便要scp走特殊端口,具体用什么端口视情况而定,比如我的ssh端口为4588,那么使用的命令如下:

scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限

使用支持SCP或SFTP协议的软件连接

支持此类连接的软件设置其实都大同小异,所以在这里以Windows平台上的WinSCP软件为例给大家介绍一下。

关于几点适合新手的WinSCP使用方法:
1、删除或编辑单个文件时可以使用WinSCP,但删除目录时不要用WinSCP,删除的速度比FTP还要慢,建议使用Putty或Xshell 5登录SSH命令删除。
2、如果要上传或下载一个文件的话,可以选中文件后拖拽。如果移动文件的话,也可以拖拽,有的文件由于权限问题会拖拽失败,这个时候建议用命令删除。
3、WinSCP上自带的命令工具只适合简短的一些命令,如解压缩,压缩,移动,拷贝等,如果是安装配置环境,必须使用Putty类的软件安装。
4、编辑文件前请备份,WinSCP编辑一些大的文件时候不太方便或产生乱码,建议下载原文件备份,然后使用Dreamweaver编辑后再上传覆盖原文件。

1、打开软件输入主机的IP、用户名、密码,点击保存。文件协议默认SFTP连接,端口号一般也是22,如非自己改了端口,WinSCP也可以当做FTP工具使用,把文件协议下拉菜单,选择FTP即可。

2、保存密码,建立桌面快捷方式,下次使用快捷方式直接就可以连接上。

3、第一次登陆,会提示是否缓存到本机,点击是。

4、提示密钥登录,点击是登录成功,Linux的神秘面纱就此解开。WinSCP和Putty可以同时管理操作主机。如进入某一个目录,返回某一个目录,使用WinSCP要比Putty方便的多,如果要是压缩文件的话,选中后右键自定义命令,在选择Tar/Gzip格式,确定后会生成一个archive.tgz的压缩包。如果解压缩.tgz文件的话,可以用下边的untar/gzip的命令菜单。

5、如果要是解压缩的格式是别的格式怎么办呢,可以Ctar+T调出命令窗口,或在底部右键选择命令行,会出现输入命令的小窗口。比如解压缩zip格式的wordpress压缩包,就需要命令“unzip wrodpress.zip”。

赞(0)
这篇文章为天际博客(天朝世纪)原创,转载请注明。天际部落 » VPS Linux服务器利用SCP或SFTP远程上传下载