Centos7配置fstp

Centos7配置fstp

1 创建用户   useradd -m -d /data/sftp_data/user1 -s /usr/sbin/nologin -g sftp user1

  • -m:自动创建 home 目录

  • -d:指定 home 目录为 /data/sftp_data/user1

  • -s:shell 为 /usr/sbin/nologin 禁止用户使用SSH登录,仅用于 SFTP

  • -g:指定组为 sftp

2  设置密码 passwd  sftpuser

3  mkdir /sftp

4 cd /sftp

5 mkdir sftpuser

6 chown -R sftpuser:sftpuser sftpuser 

7 vi /etc/ssh/sshd_config

    

         #注释掉这行

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

        添加这行:

        Subsystem sftp internal-sftp  #指定使用sftp服务使用系统自带的internal-sftp,如果不添加,用户无法通过sftp登录。

        #添加在配置文件末尾

        Match User sftpuser #匹配用户,如果要匹配多个组,多个组之间用逗号分割

          ChrootDirectory /sftp/%u
          #用chroot指定用户根目录
          #这里的%u指的是账号名,/sftp/sftpuser
          ForceCommand internal-sftp #指定sftp命令
          X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
          AllowTcpForwarding no

8  systemctl restart sshd

9    sftp -oPort=22 sftpuser@127.0.0.1   输入密码后 报错如下

  packet_write_wait: Connection to 127.0.0.1 port 22: Broken pipe
  Couldn't read packet: Connection reset by peer

10  无法登录问题处理

      chown -R root:root /sftp/sftpuser

      mkdir  /sftp/sftpuser/data

      cd /sftp/sftpuser/

      chown  sftpuser:sftpuser  data

11  systemctl restart sshd

12    sftp -oPort=22 sftpuser@127.0.0.1

     sftp> pwd

     sftp> lpwd

     sftp> cd  /data

    出现sftp>则登录成功

posted @ 2023-02-16 09:09  攻城狮-tester  阅读(137)  评论(0编辑  收藏  举报