CentOS7 配置 SFTP 与添加用户

Linux tytrock ⋅ 于 2019-12-12 17:10:40 ⋅ 2315 阅读

创建用户组

groupadd mygroup


创建用户并加入组

useradd -G mygroup -s /sbin/nologin myuser

-s 禁止用户 ssh 登陆
-G 加入 sftp 用户组


设置用户密码

passwd myuser


建立用户目录

cd /usr
sudo mkdir myhome
cd myhome
sudo mkdir myuser


修改ssh文件配置

vim /etc/ssh/sshd_config

找到如下这行,并注释掉

#Subsystem      sftp    /usr/libexec/openssh/sftp-server


添加如下几行

Subsystem sftp internal-sftp  
Match Group mygroup
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /usr/myhome
ForceCommand internal-sftp

保存,退出,重启ssh

systemctl restart sshd.service


设置权限

chown root:root /usr/myhome
chgrp -R mygroup /usr/myhome
chmod -R 755 /usr/myhome
chown -R myuser:mygroup /usr/myhome/myuser
chmod -R 755 /usr/myhome

测试登录

sftp myuser@localhost


问题汇总

1、登录时报错如下:

Connection to 127.0.0.1 closed by remote host.
Couldn't read packet: Connection reset by peer

解决方法:

目录权限设置上要遵循2点:

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

chown root:root /usr/myhome
chmod 755 /usr/myhome




参考:

https://learnku.com/articles/22673

https://www.92ez.com/?action=show&id=23452


回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter