Centos上 sftp搭建 和 命令

sftp 的搭建方法
可以使用sftp 自带的internal-sftp搭建SFTP服务器

  • ssh -V 查看版本
  • groupadd sftp 创建组
    //
  • useradd -g sftp -s /bin/false mysftp
  • passwd mysftp
    // sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp
  • mkdir -p /data/sftp/mysftp
  • usermod -d /data/sftp/mysftp mysftp
  • vim /etc/ssh/sshd_config 配置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 

设定目录权限

  • chown root:sftp /data/sftp/mysftp
  • chmod 755 /data/sftp/mysftp

照上面设置后,在重启sshd服务后,用户mysftp已经可以登录。但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限。命令如下

  • mkdir /data/sftp/mysftp/upload
  • chown mysftp:sftp /data/sftp/mysftp/upload
  • chmod 755 /data/sftp/mysftp/upload
    // 修改/etc/selinux/config
  • vim /etc/selinux/config
将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容