Rock笔记
~/rocknotes/articles/297.md article
// article · linux

CentOS7 配置 SFTP 与添加用户

创建用户组

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 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →