linux

Linux开启SFTP的详细步骤是什么

小樊
727
2024-06-19 20:14:16
栏目: 智能运维

开启SFTP(SSH File Transfer Protocol)服务在Linux系统上是一项比较简单的任务,以下是详细的步骤:

  1. 确保安装了OpenSSH软件包:首先需要确保系统上安装了OpenSSH软件包,如果没有安装可以使用包管理工具进行安装。在大多数Linux系统上,可以使用以下命令安装OpenSSH:
sudo apt-get install openssh-server   # 对于Debian/Ubuntu
sudo yum install openssh-server       # 对于CentOS/RHEL
  1. 配置SFTP子系统:编辑OpenSSH的配置文件/etc/ssh/sshd_config,确保以下配置项被添加或者取消注释:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

上面的配置项中,Subsystem sftp internal-sftp 表示使用内置的SFTP子系统,Match Group sftp 表示将指定的用户组(比如sftp)限制为使用SFTP服务,ChrootDirectory %h 表示将用户限制在其家目录下,ForceCommand internal-sftp 表示强制使用内置的SFTP子系统。

  1. 创建SFTP用户组和用户:可以创建一个专门用于SFTP服务的用户组,然后将需要使用SFTP服务的用户添加到该组中。可以使用以下命令进行操作:
sudo groupadd sftp
sudo useradd -g sftp -s /sbin/nologin -d /home/sftpuser sftpuser
sudo passwd sftpuser

上面的命令中,groupadd 创建了名为sftp的用户组,useradd 创建了一个名为sftpuser的用户,将其添加到sftp用户组中。-s /sbin/nologin 表示禁止该用户登录系统,-d /home/sftpuser 表示指定用户的家目录为/home/sftpuserpasswd 命令用于设置该用户的密码。

  1. 重启SSH服务:完成上述配置后,需要重启SSH服务使配置生效。可以使用以下命令重启SSH服务:
sudo systemctl restart sshd   # 对于systemd系统
sudo service sshd restart     # 对于SysVinit系统

完成以上步骤后,SFTP服务就已经在Linux系统上开启并配置好了。用户可以使用SFTP客户端工具连接到服务器,并进行文件传输操作。

0
看了该问题的人还看了