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 二者对比
对比方面 | FTP | SFTP |
---|---|---|
安全通道 | 不提供任何安全通道来在主机之间传输文件 | 提供了安全通道来在主机之间传输文件 |
使用协议 | 使用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的使用的主要内容,如果未能解决你的问题,请参考以下文章