传输工具sftp使用详解

1 sftp简介
    SFTP是Secure File Transfer Protocol的缩写,安全文件传送协议,它是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性,并且支持 断点续传
    SFTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
2 sftp连接参数
    2.1 查看连接参数

[root@localhost opt]# sftp --help
usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config]
            [-o ssh_option] [-P sftp_server_path] [-R num_requests]
            [-S program] [-s subsystem | sftp_server] host
       sftp [user@]host[:file ...]
       sftp [user@]host[:dir[/]]
       sftp -b batchfile [user@]host
    2.2 连接参数介绍
    -1:指定使用协议版本1。
    -C:启用压缩。
    -v:提高登录水平(打印更多的debug信息)。
    -B:指定sftp传输使用的缓存大小,默认值为32768bytes。
    -b:通过指定脚本,调用脚本命令,而不是在shell命令行输入命令。
    -F:设定一个可变动的用户配置给ssh.这个选项直接会被传递到ssh(1),如[root@localhost tmp]# sftp -F /tmp/test root@192.168.1.222
    -o:指定配置信息,如[root@localhost /]# sftp -o Port=22 root@192.168.1.222
    -P:Connect directly to a local sftp server (rather than via ssh(1)). This option may be useful in debugging the client and server.
    -R:指定同一时刻有多少请求,默认为64。增加该参数可以轻微的提高传输速度,不过会占用更多的内存。
    -S:指定用于加密连接的程序,如ssh。
    -s:subsystem | sftp_server
           Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful for using sftp over protocol version 1, or when the remote sshd(8) does not have an sftp subsystem configured.
    2.3 sftp登录方式
    sftp [user@]host[:dir[/]]:默认情况下登录到远程的/root目录。指定目录的话,如/opt,则登录到远程/opt目录
    例如:
[root@localhost /]# sftp root@192.168.1.222:/opt
    sftp [user@]host[:file ...]:直接下载远程文件到本地
    例如:
[root@localhost /]# sftp root@192.168.1.222:/opt/testfile.txt
3 sftp使用方法
    3.1 sftp登陆后,通过help命令查看使用方法

sftp> help
可用命令:
bye                                    退出sftp
cd path                             更改远程路径,如sftp> cd /opt
chgrp grp path                将文件“path”的组更改为“group”
chmod mode path          将文件“path”的权限更改为“mode”
chown own path             将文件“path”的属主更改为“owner”
df [-hi] [path]                     显示当前路径或系统文件路径的统计信息,如空间使用情况及inode(索引节点)使用情况,如sftp> df -h或df -i。inode介绍可参考我其它文章【 http://blog.csdn.net/jesseyoung/article/details/42524813】。
exit                                    退出sftp
get [-P] remote-path [local-path] 下载远端服务器指定文件( 支持断点续传),如sftp> get /opt/testfile.tar /opt/
help                                  显示帮助信息
lcd path                            更改本地路径,如sftp> lcd /opt
lls [ls-options [path]]       显示本地文件夹列表,如sftp> lls /tmp
lmkdir path                       创建本地目录,如sftp> lmkdir /tmp/test/
ln oldpath newpath        创建远程软连接,如sftp> ln /tmp/testfile /tmp/test.symlink
lpwd                                  显示本地工作路径,如sftp> lpwd 
ls [-1aflnrSt] [path]          显示远程目录列表,如如sftp> ls -l /opt/
lumask umask                 指定在建立文件时预设的权限掩码,关于umask的详细介绍可参考我其它的文章【 http://blog.csdn.net/jesseyoung/article/details/42525341】。
mkdir path                        创建远程目录,如sftp> mkdir /tmp/test/
progress                          进度表切换显示,如sftp> progress 0
put [-P] local-path [remote-path]  上传本地文件到远程服务器。如sftp> put /opt/testfile.tar /opt/
pwd                                   显示远程工作目录,如sftp> pwd
quit                                    退出sftp
rename oldpath newpath   重命名远程文件(夹),如
rm path                             删除远程文件,如sftp> rm /opt/testfile.tar 
rmdir path                        删除远程文件夹,如sftp> rmdir /opt/testdir/
symlink oldpath newpath   创建远程软连接,如sftp> symlink /tmp/testfile /tmp/test.symlink
version                            查看sftp版本信息。
!command                      在本地窗口执行命令,如sftp> !ls
!                                        退出sftp
?                                  help的同义词
    3.2 断点续传测试
    通过get命令获取远程服务器2GB大小文件
sftp> get /opt/2GBfile.tar
Fetching /opt/2GBfile.tar
/opt/2GBfile.tar                                                                      50%   1024MB  14.3MB/s   01:35 ETA
/opt/2GBfile.tar                                                                      100%  2048MB  16.6MB/s   04:20 
    传输过程中,如传输50%时,中断网络1分钟。
    网络开启后自动传输后续50%文件,而非重新传输,节省了时间。
    3.3 命令行直接传输
    直接将远程文件/opt/testfile.txt传输到本地/tmp/目录下
[root@localhost /]# sftp root@192.168.1.222:/opt/testfile.txt  /tmp/


****************************************************************************************
    原文地址: http://blog.csdn.net/jesseyoung/article/details/42523903
    博客主页: http://blog.csdn.net/jesseyoung
****************************************************************************************
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中的sftp命令是一种用于在不安全网络上传输文件的工具。在传统的FTP协议中,传输的文件以明文方式传输,容易被攻击者窃取,因此sftp命令采用安全的ssh协议来传输文件,保证数据的安全性。下面就是sftp命令的详解: 1.基本语法:sftp [options] [user@]host[/path] 2.参数说明: -a:使用ASCII模式进行传输,支持文本文件和邮件附件等 -b:使用batch文件模式,允许使用sftp命令批量传输文件 -c:使用某种特定的加密算法,包括3des、blowfish等 -f:指定ssh配置文件的位置,通常为/etc/ssh/ssh_config -g:允许使用sftp命令传输文件夹 -i:指定本地私钥的位置,用于身份验证 -p:指定ssh端口号,默认为22 -r:递归传输整个目录 -Q:禁用动态交互功能,只允许使用批处理文件操作 3.sftp命令的使用: 登陆远程主机:sftp user@host 上传本地文件:put local_file remote_dir 下载远程文件:get remote_file local_dir 列出远程目录:ls remote_dir 列出本地目录:ll local_dir 创建远程目录:mkdir remote_dir 删除远程文件:rm remote_file 4.常见的sftp服务器: OpenSSH:最常用的sftp服务器,支持Linux和其他Unix系统 FileZilla:支持Windows和MacOS系统,也支持sftp协议 WinSCP:只支持Windows系统,提供图形化的FTP客户端界面 总之,sftp命令是一种能够保证数据传输安全的工具,可以在不安全的网络环境中安全地传输文件。同时,sftp命令使用简单,容易学习和掌握,值得使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值