linux中,AllowUsers root AllowGroups root 已设置hn4301,hn4302用户不能通过ssh访问,如何设置hn4301,hn4302用户可以通过sftp访问
时间: 2024-12-09 13:18:33 浏览: 13
在Linux中,`AllowUsers` 和 `AllowGroups` 是SSH配置文件 (`/etc/ssh/sshd_config`) 中用于控制特定用户和组是否可以连接到SSH服务的关键字。如果你想允许hn4301和hn4302用户通过SFTP (Secure File Transfer Protocol) 而不是SSH进行访问,你需要对SFTP配置做相应的调整。
首先,确认SSH服务已经启用并且默认允许root用户的SSH连接,因为通常SSH会允许root登录:
```bash
sudo systemctl status sshd
```
对于SFTP,你可以编辑 `/etc/ssh/sshd_config` 文件,在`Subsystem`部分添加或修改SFTP支持的配置,例如启用Chroot jailed SFTP,将新用户加入到允许访问的组,并允许他们通过SFTP登录:
```bash
# 如果尚未启用Subsystem,添加如下行:
Subsystem sftp internal-sftp
# 或者如果你已经启用,找到"Match User hn4301"或类似的部分,然后添加以下内容:
Match User hn4301
ChrootDirectory /path/to/home/hn4301 # 设置每个用户的chroot目录
ForceCommand internal-sftp # 将强制使用的命令更改为内部SFTP服务器
Match User hn4302
ChrootDirectory /path/to/home/hn4302
ForceCommand internal-sftp
# 确保Group sftpusers存在并包含hn4301和hn4302
sudo groupadd sftpusers
sudo usermod -aG sftpusers hn4301 hn4302
```
然后,重启SSH服务以应用新的配置:
```bash
sudo systemctl restart sshd
```
现在hn4301和hn4302用户应该只能通过SFTP访问指定的chroot路径,而不是SSH。
阅读全文