编辑
2024-05-28
CentOS
0
请注意,本文编写于 386 天前,最后修改于 386 天前,其中某些信息可能已经过时。

目录

操作步骤
创建并配置sftp用户
配置sshd_config文件
验证sftp连接

操作步骤

创建并配置sftp用户

1、执行以下命令,创建用户组"sftpusers"

sudo groupadd -f sftpusers

2、执行以下命令,创建用户"frank",并指定用户所属组为"sftpusers"

sudo useradd -g sftpusers frank

3、执行以下命令,并根据提示,设置用户"frank"的密码。

sudo passwd frank

image.png

4、执行以下命令,设置用户"frank"的密码为永不过期。

sudo chage -m 0 -M 99999 -I -1 -E -1 frank

查看用戶密碼情況

sudo chage -l frank

image.png

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

配置sshd_config文件

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
參數說明
MatchUser xxx或者Group xxx引入一个条件块,条件块以Match开始,以另一个Match或者文件结尾结束。Match下面的配置项针对当前Match的值生效,且比全局设置的参数优先。如果存在一个值满足多个Match,则针对该值只生效第一个Match下的参数
ChrootDirectory目录将sftp用户限制在指定的目录中,用户将无法访问该目录之外的文件系统目录
ForceCommandinternal-sftp或者cvs server或者命令脚本的绝对路径指定用户成功登录后要强制执行的命令或脚本权限。比如仅允许使用sftp协议进行文件传输操作的“internal-sftp”或者仅允许访问CVS服务器的“cvs server”又或者可以通过配置“/etc/profile”以及用户的“~/.bashrc”文件自定义限制权限的“/usr/local/bin/limited-shell”
PermitTunnelyes or no是否允许用户进行进行SSH隧道链接,禁止可以防止用户在sftp会话中建立与其他服务器或设备的SSH隧道连接
AllowTcpForwardingyes or no是否允许用户进行TCP转发,禁止可以防止用户在sftp会话中建立与其他服务器或设备的TCP连接
X11Forwardingyes or no是否允许用户进行X11转发,禁止可以防止用户在sftp会话中显示远程X11图形应用程序窗口
AllowAgentForwardingyes or no是否允许用户进行代理转发,禁止可以防止用户在sftp会话中使用代理转发来访问其他系统或服务,甚至绕过网络防火墙
PermitTTYyes or no是否允许用户在sftp会话中使用TTY(终端)进行交互,默认为yes。禁止可以限制用户只能执行非交互式的命令或脚本

3、 在/etc/ssh/sshd_config配置文件中找到如下行并取消注释(删除行首的#符号)。若没有该行则手动添加,若有该行则查看行首是否有#,有则去掉#,没有则跳过该步骤

Subsystem sftp /usr/lib/openssh/sftp-server

image.png

4、 sftp相关配置修改完成后,按“Esc”键退出vim文本编辑器的插入模式,按住“Shift”+“:”键进入vim文本编辑器的命令行模式,输入“wq”保存修改并退出编辑。

image.png

5、执行以下命令,重启ssh服务使配置生效。

sudo systemctl restart sshd

6、执行以下命令,确认ssh服务状态为“active (running)”。

sudo systemctl status sshd

image.png

验证sftp连接

sftp frank@127.0.0.1

image.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:澳门🇲🇴上班的IT人

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!