[关闭]
@cdmonkey 2017-06-20T10:05:29.000000Z 字数 1812 阅读 1192

sftp

命令总结


其是“Secure File Transfer Protocol”的缩写,即安全文件传送协议。能够为传输文件提供一种安全的加密方法。它与传统的FTP有着几乎相同的语法及功能,为SSH的组成部分。其实于SSH软件包中,已经包含了一个叫作“SFTP”的安全文件传输子系统,其本身没有自己的守护进程,它必须使用sshd守护进程来完成相应的连接操作,因而从某种意义讲其并不像一个服务器程序,而更像是一个客户端程序。

  1. # 直接通过命令行下载FTP服务器上的指定文件:
  2. AC:/home/ac>sftp -oport=8422 sxzf@211.138.236.196:send/20160301.dat
  3. Connecting to 211.138.236.196...
  4. Fetching /send/20160301.dat to 20160301.dat
  5. /send/20160301.dat 100% 11KB 10.9KB/s 00:00

SFTP Server

http://my.oschina.net/davehe/blog/100280
http://blog.csdn.net/xinxin19881112/article/details/46831311
http://www.freeoa.net/osuport/sysadmin/use-sftp-instead-ftp-transfer-files_2700.html

http://fromwiz.com/share/s/2knoJe3X04t32rsQ3w3QV2Ha2Vu2oS1HLkwl25IgZZ0Cufpv
http://www.oracleonlinux.cn/2016/11/how_to_config_sftp_on_linux/

搭建“SFTP”服务器要求OpenSSH的版本必须大于4.8p1,而低于的该版本的需要进行升级。

  1. [root@test-acftp ~]# ssh -V
  2. OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

注意:如果是手动对OpenSSH进行过升级的话,需要按下面的配置开启sftp功能:

  1. Subsystem sftp /usr/local/openssh/libexec/sftp-server

Add user

  1. # Create sftp group:
  2. [root@test-acftp ~]# groupadd sftp

创建一个“SFTP”用户:

  1. [root@test-acftp ~]# useradd -g sftp -s /bin/false acftp
  2. [root@test-acftp ~]# passwd acftp # Password:suixingpay

指定家目录:

  1. [root@test-acftp ~]# usermod -d /home/ftp/CBEC acftp

Configuration

  1. [root@test-acftp ~]# vim /etc/ssh/sshd_config
  2. # Comment out this line (Usually located at the end of the file):
  3. # Subsystem sftp /usr/libexec/openssh/sftp-server
  4. # Add the following at the end of the file:
  5. Subsystem sftp internal-sftp
  6. Match Group sftp
  7. ChrootDirectory /home/ftp/CBEC
  8. ForceCommand internal-sftp
  9. AllowTcpForwarding no

设定“Chroot”目录权限
http://zengrong.net/post/1616.htm

重启服务:

  1. [root@test-acftp ~]# /etc/init.d/sshd restart

问题处理:
如果你链接服务器的时候出现下面的提示:

  1. Write failed: Broken pipe
  2. Couldn't read packet: Connection reset by peer

这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

免密钥登录最为靠谱的设定:
http://jingyan.baidu.com/article/e5c39bf56245ae39d7603331.html

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注