CentOS配置sftp服务器


1、查看openssh的版本

   ssh -V   

   版本必须大于4.8p1,低于的这个版本需要升级。


2、创建sftp组

   groupadd sftp  


2、创建2个sftp用户,用户名为test1和test2,密码为同用户名

   mkdir -p /data/sftp/{test1,test2} 

   useradd -g sftp -s /sbin/nologin -d /data/sftp/test1  test1   //用户名

   passwd test1  //密码

 

3、配置sshd_config

   vi /etc/ssh/sshd_config

   找到如下这行,用#符号注释掉

   #Subsystem      sftp    /usr/libexec/openssh/sftp-server  

   在文件最后面添加如下几行内容,然后保存

   ---------------------------------------------------------

    Subsystem       sftp    internal-sftp    

    Match Group sftp    

    ChrootDirectory /data/sftp/%u    

    ForceCommand    internal-sftp    

    AllowTcpForwarding no    

    X11Forwarding no 

   ---------------------------------------------------------

4、设定Chroot目录权限

   chown root:sftp /data/sftp/test1 

   chmod 755 /data/sftp/test1  

5、建立SFTP用户登入后可写入的目录

   照上面设置后,在重启sshd服务后,用户test1已经可以登录。

   但使用chroot指定根目录后,根应该是无法写入的,

   所以要新建一个目录供test1上传文件。命令如下:

    mkdir /data/sftp/test1/upload1  

    chown test1:sftp /data/sftp/test1/upload1  

    chmod 755 /data/sftp/test1/upload1   

6、重启sshd服务

   service sshd restart  

7、验证sftp环境

   用test1用户名登录

   sftp test1@127.0.0.1  

  显示 sftp> 则sftp搭建成功