一、SFTP
SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至Blogger伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
二、说明
为了数据和服务的安全,很多生产环境中的Linux服务器不能使用外网环境,在只有SSH连接的情况下,传输文件变得很不方便。再加上Linux服务器并未安装用于上传和下载的lrzsz软件,又不能及时下载安装,同时Xftp和scp也无法使用,此时可考虑使用SFTP完成相关操作。
FTP是一种方便数据共享的文件传输协议,包括一个FTP服务器和多个ftp客户端,FTP客户端通过ftp协议从服务器上下载资源;SFTP是Secure File Transfer Protocol(安全文件传输协议)的缩写,可以为传输文件提供一种安全的网络的加密方法;SFTP协议是在FTP的基础上,对数据采取了加密/解密技术,使数据传输更安全。SFTP的传输效率比FTP的低很多。
三、用法
1.软件环境
本文选择SecureCRT工具进行具体操作说明,前文有SecureCRT使用介绍这里就不赘述了。
2.SFTP建立连接
sftp username@ip //sftp 用户名@服务器IP地址
输入密码就可以登录了
说明:如果sftp命令可以登录,但是无法获取本地文件路径如下图(lpwd:显示本地路径,pwd:显示远程路径)
这里使用另一种sftp连接方式如下图:
3.上传
put D:/MyKit/test/ /home/ilog/test/ //put 本地路径/文件名 远程路径
-
上传文件: 把本地服务器的D:/MyKit/test目录下面的2020.txt文件上传到远程服务器的/home/ilog/test目录下。
-
sftp> lcd D:/MyKit/test
-
sftp> cd /home/ilog/test
-
sftp> put 2020.txt
本地路径:
远程路径:
put -r D:/MyKit/test/logs /home/ilog/test/ //put -r 本地路径/文件夹名 远程路径
-
上传文件夹:把本地服务器的D:/MyKit/test目录下面的logs文件夹上传到远程服务器的/home/ilog/test目录下。
-
sftp> lcd D:/MyKit/test
-
sftp> cd /home/ilog/test
-
sftp> put -r log
本地路径:
远程路径:
4.下载
get /home/ilog/test/ D:/MyKit/test/ //get 远程路径/文件名 本地路径
-
下载文件: 把远程服务器的/home/ilog/test目录下面的0824.txt文件下载到本地服务器的D:/MyKit/test目录下。
-
sftp> cd /home/ilog/test
-
sftp> lcd D:/MyKit/test
-
sftp> get 0824
远程路径:
本地路径:
get -r /home/ilog/test/data D:/MyKit/test/ //get -r 远程路径/文件夹名 本地路径
-
下载文件夹:把远程服务器的/home/ilog/test目录下面的data文件夹下载到本地服务器的D:/MyKit/test目录下。
-
sftp> cd /home/ilog/test
-
sftp> lcd D:/MyKit/test
-
sftp> get -r data
远程路径:
本地路径:
四、常用命令及注意说明
1.常用命令
get --下载
put --上传
clear --清屏
exit、quit --断开连接
help --帮助
远程端服务器的操作指令:
ls --显示目录
rm --删除
cd --切换路径
mkdir --创建目录
pwd --显示当前路径
本地端服务器的操作指令(在远程指令前加l(local)即可):
lls --显示目录
lrm --删除
lcd --切换路径
lmkdir --创建目录
lpwd --显示当前路径
2.注意说明
Windows环境路径和Linux环境路径的写法要注意区分,不然可能get和put时无法获取正常路径导致失败;还有登录服务器的用户权限也有要求,无正常读写权限的文件及文件目录,可能无法操作(需要通过命令开通相应权限)从来导致失败。
附:在 SFTP 解释器中可以使用 help
命令来查看帮助文档
-
sftp> help
-
Available commands:
-
bye Quit sftp
-
cd path Change remote directory to 'path'
-
chgrp grp path Change group of file 'path' to 'grp'
-
chmod mode path Change permissions of file 'path' to 'mode'
-
chown own path Change owner of file 'path' to 'own'
-
df [-hi] [path] Display statistics for current directory or
-
filesystem containing 'path'
-
exit Quit sftp
-
get [-afPpRr] remote [local] Download file
-
reget [-fPpRr] remote [local] Resume download file
-
reput [-fPpRr] [local] remote Resume upload file
-
help Display this help text
-
lcd path Change local directory to 'path'
-
lls [ls-options [path]] Display local directory listing
-
lmkdir path Create local directory
-
ln [-s] oldpath newpath Link remote file (-s for symlink)
-
lpwd Print local working directory
-
ls [-1afhlnrSt] [path] Display remote directory listing
-
lumask umask Set local umask to 'umask'
-
mkdir path Create remote directory
-
progress Toggle display of progress meter
-
put [-afPpRr] local [remote] Upload file
-
pwd Display remote working directory
-
quit Quit sftp
-
rename oldpath newpath Rename remote file
-
rm path Delete remote file
-
rmdir path Remove remote directory
-
symlink oldpath newpath Symlink remote file
-
version Show SFTP version
-
!command Execute 'command' in local shell
-
! Escape to local shell
-
? Synonym for help