linux scp、ftp和sftp有什么区别,传输文件那个速度快

linux scp、ftp和sftp有什么区别,传输文件那个速度快,第1张

传输文件使用ftp协议速度快。

区别如下:

一、指代不同

1、scp:是用来进行远程文件拷贝的,是 SSH 中最方便有用的命令。

2、ftp: 是 TCP/IP 协议组中的协议之一。

3、sftp:安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。

二、使用方式不同

1、scp:scp 在需要进行验证时会要求你输入密码或口令。

2、ftp:FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

3、sftp:为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。

三、特点不同

1、scp:数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 。

2、ftp:下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

3、sftp:SFTP本身没有单独的守护进程,必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

-scp

-FTP协议

-sftp

windows中可以使用Core FTP,FileZilla, WinSCP,Xftp来连接SFTP进行上传,下载文件,建立,删除目录等操作。

以winscp软件为例:

1、将之前下载的sftp服务端解压缩,然后直接运行主程序。点“NEXT”按钮进行下面的操作。

2、在许可协议窗口处填写“同意”并点“下一步”按钮继续。

3、在接下来的配置窗口中选择要安装的组件,从界面中可以看到包括client(客户端)与server(服务器端),实际上只需要服务器端,而客户端使用之前下载的WinSCP 382即可。选择相应的服务器端组件后点“下一步”完成安装

4、 接下来就要启动该服务了,通过“开始->运行->输入CMD后回车”进入到命令提示窗口,然后通过cd命令定位到c:\programfiles\openssh\bin目录。

5、依次执行mkgroup -l >> \etc\group mkpasswd -l >> \etc\passwd命令,这样你目前windows本地帐户中的用户就都可以登录该sftp服务器了,自对文件目录的访问权限和NTFS权限一致。此步骤相当于FTP中的建立访问帐号。

6、添加完各个访问帐户后就可以使用了。

SFTP:sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。

众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的。下面为SFTP用户权限设置方法。

必要条件:

你的openssh-server版本至少得失48p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

如何查看自己服务器上的ssh版本?大家可以尝试以下命令:

$ ssh -V

具体实施步骤:

1 我们需要创建一个用户组,专门用于sftp用户

$ groupadd sftpusers

2 我们创建一个用户test

$ useradd -s /bin/false -G sftpuser test

注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限

3 编辑 /etc/ssh/sshd_config

找到Subsystem这个配置项,将其修改为

Subsystem sftp internal-sftp

然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹

Match Group sftpusers

ChrootDirectory %h

ForceCommand internal-sftp

AllowTcpForwarding no

保存并关闭文件

4 修改test用户home文件夹的权限,让其属于root用户

chown root ~test

5 重启sshd服务

$ service sshd restart

6 测试用户账号

$ ssh test@localhost

连接会被拒绝或者无法登陆

$ sftp tesst@localhost

登陆后你会发现你的账号无法切换到除自己home目录之外的地方的

常见问题:

如果你链接服务器的时候出现下面的提示:

Write failed: Broken pipe

Couldn't read packet: Connection reset by peer

这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

Windows7系统连接FTP服务器方法:

1、打开->计算机 在工具栏中选择 ->映射网络驱动器。

2、经过上一步弹出映射网络驱动器。在弹出的窗口中选择“连接到可用于存储文档和的网站”;选择完成出现下一个窗口直接下一步。

3、选择自定义网络位置,选择后点击下一步,弹出一个新窗口,这里面需要输入ftp服务器的ip地址,输入完成后下一步。

4、上一步通过后会弹出一个新窗口,没有设置的内容请直接下一步,之后又弹出一个新窗口,这个窗口是配置完成之后你登录ftp图表的名字,请随意填写即可。

5、FTP登录客户端位置,经过以上4步的配置FTP连接方式已经成功完成,而且通这种方法配置是会永久可用的,不需去手动填写FTP的ip地址,登录ftp服务非常容易,打开win7 系统的计算机,在硬盘和光驱下面就会出现fpt登录的图表。

6、配完可能会出现登录ftp在网页下显示,这样是不对的,需要修改为资源管理器显示,这样操作才方便,具体步骤打开IE浏览器-->工具-->internet选项,修改显示方式。

SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

启动ssh服务、sftp服务

执行命令 /etc/initd/sshd start 注意这里需要在绝对路径下执行sshd start。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux scp、ftp和sftp有什么区别,传输文件那个速度快

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情