1、执行以下命令,创建用户组"sftpusers"
sudo groupadd -f sftpusers
2、执行以下命令,创建用户"frank",并指定用户所属组为"sftpusers"
sudo useradd -g sftpusers frank
3、执行以下命令,并根据提示,设置用户"frank"的密码。
sudo passwd frank
4、执行以下命令,设置用户"frank"的密码为永不过期。
sudo chage -m 0 -M 99999 -I -1 -E -1 frank
查看用戶密碼情況
sudo chage -l frank
5、 执行以下命令,创建用户"frank"同名目录以及数据存储目录"data"。
sudo mkdir -p /sftpdata/frank/data
6、 执行以下命令,将"frank"数据存储目录"data"的所属用户和用户组分别配置为
frank:sftpusers
sudo chown frank:sftpusers /sftpdata/frank/data/
7、 执行以下命令,修改用户"frank"的主目录为
/sftpdata/frank
sudo usermod -d /sftpdata/frank/ frank
1、执行以下命令,编辑sftp的配置文件“/etc/ssh/sshd_config”。。
sudo vim /etc/ssh/sshd_config
2、 按住
Shift
+g
键,将光标移动至配置文件最后一行,按o
另起一行进入插入模式,并根据下表描述,复制以下内容至配置文件末尾,修改参数值为实际环境需求。
针对用户生效的sftp配置模板:
Match User frank ChrootDirectory /sftpdata/frank ForceCommand internal-sftp PermitTunnel no AllowTcpForwarding no
參數 | 值 | 說明 |
---|---|---|
Match | User xxx或者Group xxx | 引入一个条件块,条件块以Match开始,以另一个Match或者文件结尾结束。Match下面的配置项针对当前Match的值生效,且比全局设置的参数优先。如果存在一个值满足多个Match,则针对该值只生效第一个Match下的参数 |
ChrootDirectory | 目录 | 将sftp用户限制在指定的目录中,用户将无法访问该目录之外的文件系统目录 |
ForceCommand | internal-sftp或者cvs server或者命令脚本的绝对路径 | 指定用户成功登录后要强制执行的命令或脚本权限。比如仅允许使用sftp协议进行文件传输操作的“internal-sftp”或者仅允许访问CVS服务器的“cvs server”又或者可以通过配置“/etc/profile”以及用户的“~/.bashrc”文件自定义限制权限的“/usr/local/bin/limited-shell” |
PermitTunnel | yes or no | 是否允许用户进行进行SSH隧道链接,禁止可以防止用户在sftp会话中建立与其他服务器或设备的SSH隧道连接 |
AllowTcpForwarding | yes or no | 是否允许用户进行TCP转发,禁止可以防止用户在sftp会话中建立与其他服务器或设备的TCP连接 |
X11Forwarding | yes or no | 是否允许用户进行X11转发,禁止可以防止用户在sftp会话中显示远程X11图形应用程序窗口 |
AllowAgentForwarding | yes or no | 是否允许用户进行代理转发,禁止可以防止用户在sftp会话中使用代理转发来访问其他系统或服务,甚至绕过网络防火墙 |
PermitTTY | yes or no | 是否允许用户在sftp会话中使用TTY(终端)进行交互,默认为yes。禁止可以限制用户只能执行非交互式的命令或脚本 |
3、 在
/etc/ssh/sshd_config
配置文件中找到如下行并取消注释(删除行首的#符号)。若没有该行则手动添加,若有该行则查看行首是否有#,有则去掉#,没有则跳过该步骤
Subsystem sftp /usr/lib/openssh/sftp-server
4、 sftp相关配置修改完成后,按“Esc”键退出vim文本编辑器的插入模式,按住“Shift”+“:”键进入vim文本编辑器的命令行模式,输入“wq”保存修改并退出编辑。
5、执行以下命令,重启ssh服务使配置生效。
sudo systemctl restart sshd
6、执行以下命令,确认ssh服务状态为“active (running)”。
sudo systemctl status sshd
sftp frank@127.0.0.1
本文作者:澳门🇲🇴上班的IT人
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!