SFTP的使用

Posted 骑个小蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SFTP的使用相关的知识,希望对你有一定的参考价值。

文章目录


SFTP与FTP区别

1.1 FTP

FTP(File Transfer Protocol):文件传输协议,是用于在网络上进行文件传输的一套标准协议。

1.2 SFTP

SFTP(SSH File Transfer Protocol):SSH文件传输协议(安全文件传送协议),为传输文件提供一种安全的网络的加密方法,SFTP是SSH的其中一部分。

在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。

1.3 二者对比

对比方面FTPSFTP
安全通道不提供任何安全通道来在主机之间传输文件提供了安全通道来在主机之间传输文件
使用协议使用TCP/IP协议,明文传输用户信息和数据是SSH协议的一部分,它是一种远程登录信息,基于SSH来加密传输文件,可靠性高,可断点续传。
链接方式默认使用TCP端口21上的控制连接建立连接通过SSH协议(TCP默认端口22)建立的安全连接来传输文件
安全性数据以纯文本格式传输,安全性不高SSH加密传输,安全性较高
效率传输不加密,效率高加密传输,效率比FTP低

SFTP常用命令

命令描述
bye退出 sftp
exit退出 sftp
cd path将远程目录更改为’path’
chgrp grp path将文件’path’组更改为’grp’
chmod mode path将文件’path’的权限更改为’mode’
chown own path将文件’path’的所有者更改为’own’
df [-hi] [path]显示包含’path’的当前目录或文件系统的统计信息
get [-afPpRr] remote [local]下载文件
reget [-fPpRr] remote [local]继续下载文件
reput [-fPpRr] [local] remote继续上传文件
lcd path将本地目录更改为’path’
lls [ls-options [path]]显示本地目录列表
lmkdir path创建本地目录
ln [-s] oldpath newpath链接远程文件(-s 用于符号链接)
lpwd打印本地工作目录
ls [-1afhlnrSt] [path]显示远程目录列表
lumask umask将本地 umask 设置为 ‘umask’
mkdir path创建远程目录
progress切换进度表的显示
put [-afPpRr] local [remote]上传文件
pwd显示远程工作目录
quit退出 sftp
rename oldpath newpath重命名远程文件
rm path删除远程文件
rmdir path删除远程目录
symlink oldpath newpath符号链接远程文件
version显示 SFTP 版本
!command在本地 shell 中执行’command’
!逃到本地 shell
help显示帮助文本
?和help命令相同,显示帮助文本

1.1 登录SFTP

sftp [user@]host[:dir[/]]
示例:
sftp 127.0.0.1

sftp admin@127.0.0.1

sftp admin@127.0.0.1:aa/

1.2 退出SFTP

quit

exit

bye

1.3 显示指定目录下的文件(文件夹)

ls [path]
示例:
ls						// 显示当前目录下的文件(文件夹)
ls /user				// 显示user目录下的文件(文件夹)

1.4 进入指定目录

cd [path]
示例:
cd 						// 进入当前目录(无意义)
cd /user				// 进入user目录

1.5 查看当前目录

pwd

1.6 创建目录

mkdir [path]
示例:
mkdir user1

1.7 删除目录

rmdir [path]
示例:
rmdir user1 

1.8 上传文件

put local [remote]

mput local [remote]
示例:
put E:\\111.txt					// 不指定远程目录直接上传到远程根目录
put E:\\111.txt /user			// 上传到远程指定目录

1.9 下载文件

# 下载到本地
get remote [local]

mget remote [local]
示例:
get /user/111.txt				// 不指定本地目录直接下载到本地当前目录
get /user/111.txt E:\\aaa	// 下载到本地指定目录

1.10 删除文件

rm [remote]
示例:
rm /user/111.txt

1.11 重命名文件(文件夹)

rename old new
示例:
rename /user /user1

1.12 SFTP版本

version

1.13 SFTP帮助文档

help

?

2.1 进入本地指定目录

lcd path
示例:
lcd d:\\user

2.2 显示本地指定目录下的文件(文件夹)

lls [ls-options [path]]
示例:
lls					// 显示本地当前目录下的文件(文件夹)
lls d:\\user			// 显示本地d:\\user目录下的文件(文件夹)

2.3 创建本地目录

lmkdir path
示例:
lmkdir aa			// 本地当前目录下创建目录
lmkdir d:\\user		// 本地d:\\user目录下创建目录

2.4 查看本地当前目录

lpwd

sftp


 

 

 

sftp是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。

1. 常用登陆方式

  • 格式:sftp @
  • 通过sftp连接,端口为默认的22,指定用户,使用-i选项指定key

2. 查看sftp支持的命令

使用help命令,查看支持的命令,如:
sftp>help
(其中命令前面有“l”表示本地执行,其他表示在所登录的远程主机上面执行)

3. 基本的使用

  • 文件下载
    get [-Ppr] remote [local]
    如:get test.cpp ./Project/: 将远程当前目录下的文件test.cpp下载到本地当前目录的Project文件夹中。
  • 文件上传
    put [-Ppr] local [remote]
    如:put /home/liu/Software/RHEL_5.5\ x86_64.iso /home/xudong/Blog/:将本地/home/liu/Software/目录下的ios文件传送到远程登陆主机的/home/xudong/Blog/目录下。
  • 其他命令
    可以使用命令还是有几个的,如ls、lls;cd、lcd;pwd、lpwd等。具体查看help输出吧。

 



 

以上是关于SFTP的使用的主要内容,如果未能解决你的问题,请参考以下文章

Linux下sftp配置之密钥方式登录

Linux基础命令 sftp命令的使用

linux下如何使用sftp命令

如何在Linux中使用sFTP上传或下载文件与文件夹

如何在 Linux 服务器上安装和使用 SFTP?

linux搭建sftp(openssh)