欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 系统中开启 sftp 功能

程序员文章站 2022-06-01 20:39:05
...

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

原文链接:https://developer.aliyun.com/article/746775?spm=a2c6h.12873581.0.0.54c47e46mLfYep

本文创建的用户组和用户以实际环境为准。

1、Ubuntu由于没有安装openssl服务,因此需要执行如下命令进行安装。

sudo apt-get install openssh-server

2、执行如下命令,创建SFTP用户组,方便进行管理测试。

提示:也可以不进行创建,直接使用root用户。

sudo addgroup sftp-test

3、依次执行如下命令,创建SFTP用户,并配置相应权限。

sudo adduser alicesudo usermod -G sftp-test -s /bin/false alice

4、依次执行如下命令,创建SSH用户组,并把管理员加入到该组。

sudo addgroup ssh-userssudo usermod -a -G ssh-users admin

注:-a参数的意思是不从其他用户组用移除用户。

5、执行如下命令,编辑SSH配置文件。

sudo nano /etc/ssh/sshd_config

6、在sshd_config文件的中,添加如下内容。

   AllowGroups ssh-users sftp-users
   Match Group sftp-users
   ChrootDirectory /home/sftp_root
   AllowTcpForwarding no   X11Forwarding no   ForceCommand internal-sftp

注:

AllowGroups ssh-users sftp-users:只允许ssh-uers及sftp-users通过SSH访问系统。Match Group sftp-users:针对sftp-users用户,额外增加一些设置。ChrootDirectory /home/sftp_root:将/home/sftp_root设置为该组用户的系统根目录,因此它们将不能访问该目录之外的其他系统文件。AllowTcpForwarding no和X11Forwarding no:禁止TCP Forwarding和X11 Forwarding。ForceCommand internal-sftp:强制该组用户仅仅使用SFTP。

7、重启系统以便使新配置生效。

提示:执行重启等风险操作前,需要保证业务的正常进行并做好数据备份。