sftp是SecureFileTransferProtocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp与ftp有着几乎一样的语法和功能。SFTP为SSH的一部分,是一种传输档案至Blogger伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(SecureFileTransferProtocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。一、连接方式常用的方式有两种,一种直接采用sftp连接远端服务器IP另一种则先登录远程服务器,在开启sftp功能1、sftp[remotehostIP]通过sftp连接[host],端口为默认的22,用户为Linux当前登录用户。Xshell5(Build0806)Copyright(c)2002-2015NetSarangComputer,Inc.Allrightsreserved.Type`help'tolearnhowtouseXshellprompt.[c:\~]$sftp192.168.56.101Connectingto192.168.56.101:22...Connectionestablished.Toescapetolocalshell,press'Ctrl+Alt+]'.YourcurrentlocaldirectoryisC:\Users\FieldYang\Documents\NetSarang\Xshell\SessionsType`help'tobrowseavailablecommnands.sftp:/root2、sftp-oPort=[port][remotehostIP]通过sftp连接远程服务器,指定端口[port],用户为Linux当前登录用户。3、sftp[user]@[remotehostIP]通过sftp连接远程服务器,端口为默认的22,指定用户[user]。Xshell5(Build0806)Copyright(c)2002-2015NetSarangComputer,Inc.Allrightsreserved.Type`help'tolearnhowtouseXshellprompt.[c:\~]$sftpfieldyang@192.168.56.101Connectingto192.168.56.101:22...Connectionestablished.Toescapetolocalshell,press'Ctrl+Alt+]'.YourcurrentlocaldirectoryisC:\Users\FieldYang\Documents\NetSarang\Xshell\SessionsType`help'tobrowseavailablecommnands.sftp:/home/fieldyang4、sftp-oPort=[port][user]@[remotehostIP]通过sftp连接[remotehostIP],端口为[port],用户为[user]。5、通过Xshell5与linux建立连接后,在图形用户面板上窗口-传输新建文件,打开xftp的字符界面,如图,直接关闭即可打开一个sftp窗口二、用法1、基本用法sftp:/roothelpbyefinishyourSFTPsession退出sftpcdchangeyourremoteworkingdirectory更改远程服务器工作目录clearclearscreen清屏exitfinishyourSFTPsessionexploreexploreyourlocaldirectory导入本地目录getdownloadafilefromtheservertoyourlocalmachine从远程服务器上下载文件到本机helpgivehelp查找帮助lcdchangeand/orprintlocalworkingdirectory切换本地当前工作目录llslistcontentsofalocaldirectory列出本地当前目录的内容lpwdprintyourlocalworkingdirectory打印当前工作目录lslistcontentsofaremotedirectory列出远程服务器目录内容mkdircreateadirectoryontheremoteserver在远程服务器上创建一个目录mvmoveorrenameafileontheremoteserver搬移或重命名一个的远程服务器文件putuploadafilefromyourlocalmachinetotheserver将本机的文件上传到远程服务器pwdprintyourremoteworkingdirectory打印远程服务器工作路径quitfinishyourSFTPsession退出renamemoveorrenameafileontheremoteserver搬移或重命名一个的远程服务器文件rmdeleteafile删除一个文件rmdirremoveadirectoryontheremoteserver在远程服务器上删除一个目录删除一个目录2、常用的为上传下载1)、get从远程服务器上下载一个文件存放到本地,如下:先通过lcd切换到本地那个目录下,然后通过getfilelcdd:\#表示切换到本地的d盘下get./test.sql#这样就将当前文件下载本地的d盘下2)、put是将本地的文件上传到远程服务器上,如下:put#在windows下弹出选择文件的窗口3)、lcd先通过lcd切换到本地那个目录下lcdc:\#表示切换到本地的c盘下4)、lls#显示当前目录下的所有文件5)、pwd#显示当前目录三、各个用法实例详解实例1、从服务器下载文件到本机Xshell5(Build0806)Copyright(c)2002-2015NetSarangComputer,Inc.Allrightsreserved.Type`help'tolearnhowtouseXshellprompt.[c:\~]$Connectingto192.168.56.101:22...Connectionestablished.Toescapetolocalshell,press'Ctrl+Alt+]'.YourcurrentlocaldirectoryisC:\Users\FieldYang\Documents\NetSarang\Xshell\SessionsType`help'tobrowseavailablecommnands.sftp:/rootcd/mnt/share#远程路径切换为/mnt/sharesftp:/mnt/sharels–ltdrwxrwxrwx11000users4096Jun1613:39.drwxr-xr-x7rootroot4096Jun1514:06..-rwxrwxrwx11000users220151Jun1514:26.goutputstream-ZHJ8IY-rwxrwxrwx11000users19362Jun1612:270.jpg-rwxrwxrwx11000users16157Jun1613:39AuthServerandSOAPproxy.docx-rwxrwxrwx11000users63952Jun1612:29bamquickinstall.pdf-rwxrwxrwx11000users7277Jun1613:33DNSmmmS.txt-rwxrwxrwx11000users7277May1210:43DNSS.txt-rwxrwxrwx11000users111395Jun1515:46libpcap-0.9.4-15.el5.x86_64.rpm-rwxrwxrwx11000users363677Jun1514:59ppp-2.4.4-14.1.rhel5.x86_64.rpm-rwxrwxrwx11000users48430Jun1514:57ppp-devel-2.4.4-14.1.rhel5.x86_64.rpm-rwxrwxrwx11000users86211Jun1515:38pptpd-1.4.0-1.rhel4.x86_64.rpm-rwxrwxrwx11000users86509Jun1514:46pptpd-1.4.0-1.rhel5.x86_64.rpm-rwxrwxrwx11000users220151Jun1513:22Screenshot.png-rwxrwxrwx11000users21789Jun1613:39TrafficUsageSystemalarmhandling-Gateway,RadiusGWProxy,RadiusProxyServer.docxsftp:/mnt/sharelcdd:\Field\test_sftp#切换到本地的d盘下Field文件夹的test_sftp文件夹Localdirectoryisnowd:\Field\test_sftpsftp:/mnt/sharelpwdLocaldirectoryisd:\Field\test_sftp#打印本地文件夹路径sftp:/mnt/sharells06/16/201605:44¤WDIR.06/16/201605:44¤WDIR..#查看本地文件夹d:\Field\test_sftp内容sftp:/mnt/shareget./0.jpg./DNSmmmS.txt./pptpd-1.4.0-1.rhel5.x86_64.rpm#下载远程服务器/mnt/share上的0.jpg、DNSmmmS.txt、#pptpd-1.4.0-1.rhel5.x86_64.rpm到本地文件夹d:\Field\test_sftp中Fetching/mnt/share/./pptpd-1.4.0-1.rhel5.x86_64.rpmtopptpd-1.4.0-1.rhel5.x86_64.rpmsftp:received84.4KBin0.64secondsFetching/mnt/share/./DNSmmmS.txttoDNSmmmS.txtsftp:received7.10KBin0.02secondsFetching/mnt/share/./0.jpgto0.jpgsftp:received18.9KBin0.03secondssftp:/mnt/sharells–lt#命令行查看是否下载成功06/16/201605:47¤WDIR.06/16/201605:47¤WDIR..06/16/201605:47¤W193620.jpg06/16/201605:47¤W7277DNSmmmS.txt06/16/201605:47¤W86509pptpd-1.4.0-1.rhel5.x86_64.rpm实例2、上传本地文件到远程服务器sftp:/mnt/sharelcdd:\Field\SNINF\#切换本地路径到d:\Field\SNINF\Localdirectoryisnowd:\Field\SNINF\sftp:/mnt/sharelpwd#打印本地当前路径Localdirectoryisd:\Field\SNINF\sftp:/mnt/sharells-lt02/19/201607:50¤WDIR.02/19/201607:50¤WDIR..12/11/201508:27¤W16