当前位置:首页 > 行业动态 > 正文

如何在Linux系统上安装SFTP服务?

在Linux上安装SFTP,首先需要确保已安装OpenSSH服务器。使用命令 sudo apt-get install openssh-server(Debian/Ubuntu)或 sudo yum install openssh-server(CentOS),然后启动并启用SSH服务: sudo systemctl start sshd和 sudo systemctl enable sshd。

Linux安装SFTP

如何在Linux系统上安装SFTP服务?  第1张

步骤详解

一、创建sftp用户组和用户

1、创建用户组

   groupadd sftpgroup

2、创建用户并指定用户组,同时限制登录

   useradd -g sftpgroup -s /bin/nologin sftpadmin

3、设置密码

   passwd sftpadmin

二、创建用户home目录并配置权限

1、创建home目录

   mkdir -p /data/sftp/sftpadmin

2、修改用户主目录

   usermod -d /data/sftp/sftpadmin sftpadmin

3、修改目录权限

   chown root:root /data/sftp/sftpadmin
   chmod 755 /data/sftp/sftpadmin

三、配置SSH服务以支持SFTP

1、编辑配置文件

   vim /etc/ssh/sshd_config

2、注释掉默认的Subsystem行并添加新的配置

   #Subsystem sftp /usr/libexec/openssh/sftp-server
   Subsystem sftp internal-sftp
   Match Group sftpgroup
   ChrootDirectory /data/sftp/%u
   ForceCommand internal-sftp
   AllowTcpForwarding no
   X11Forwarding no

四、创建上传文件夹并设置权限

1、创建上传文件夹

   mkdir /data/sftp/sftpadmin/upload

2、设置文件夹权限

   chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload
   chmod 755 /data/sftp/sftpadmin/upload

五、关闭Selinux策略(如需要)

1、编辑Selinux配置文件

   vim /etc/selinux/config

2、将SELINUX设置为disabled

   SELINUX=disabled

六、重启SSH服务

service sshd restart
步骤 命令 描述
1.0 groupadd sftpgroup 创建sftp用户组
1.1 useradd -g sftpgroup -s /bin/nologin sftpadmin 创建sftp用户并指定用户组,同时限制登录
1.2 passwd sftpadmin 设置用户密码
2.0 mkdir -p /data/sftp/sftpadmin 创建用户home目录
2.1 usermod -d /data/sftp/sftpadmin sftpadmin 修改用户主目录
2.2 chown root:root /data/sftp/sftpadmin 修改目录权限
2.3 chmod 755 /data/sftp/sftpadmin 修改目录权限
3.0 vim /etc/ssh/sshd_config 编辑SSH配置文件
3.1 #Subsystem sftp /usr/libexec/openssh/sftp-server 注释默认配置
3.2 Subsystem sftp internal-sftp 添加新配置
3.3 Match Group sftpgroup 匹配用户组
3.4 ChrootDirectory /data/sftp/%u 设置根目录为指定的用户目录
3.5 ForceCommand internal-sftp 强制使用内部SFTP命令
3.6 AllowTcpForwarding no 禁止TCP转发
3.7 X11Forwarding no 禁止X11转发
4.0 mkdir /data/sftp/sftpadmin/upload 创建上传文件夹
4.1 chown sftpadmin:sftpgroup /data/sftp/sftpadmin/upload 修改上传文件夹的所有权
4.2 chmod 755 /data/sftp/sftpadmin/upload 修改上传文件夹的权限
5.0 vim /etc/selinux/config 编辑Selinux配置文件
5.1 SELINUX=disabled 禁用Selinux
6.0 service sshd restart 重启SSH服务

常见问题与解答 (FAQs)

Q1: SFTP用户无法登录怎么办?

A1: 确保以下几点:

1、SFTP用户已正确创建并添加到sftpgroup。

2、SSH服务已重启。

3、SSH配置文件中没有语法错误。

4、SELinux已禁用或相应策略已调整。

5、确保用户home目录和上传目录的权限设置正确。

Q2: 如何更改SFTP用户的根目录?

A2: 在SSH配置文件中,通过ChrootDirectory指令设置用户的根目录。

Match User sftpadmin
ChrootDirectory /data/sftp/sftpadmin

确保该目录存在且权限设置正确。

各位小伙伴们,我刚刚为大家分享了有关“linux安装sftp”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

0