linux 如何禁止root以外其他已建立的用户如hn4301、hn4302、hn4303的ssh功能,只能通过sftp访问
时间: 2024-12-09 17:18:06 浏览: 12
要在Linux系统中禁止单独的用户名(例如hn4301、hn4302、hn4303)通过SSH访问,而只允许他们通过SFTP(Secure File Transfer Protocol)访问,你需要按照以下步骤操作:
1. **检查SSH配置**:
首先,确保SSH服务器的配置文件 `/etc/ssh/sshd_config` 中对这些用户设置了正确的权限限制。通常,在`Match User hn4301 hn4302 hn4303`这样的匹配规则下面,你可以设置`DenyPasswordAuthentication yes`来禁止密码登录。
```
Match User hn4301 hn4302 hn4303
DenyPasswordAuthentication yes
ForceCommand sftp
```
这会让这些用户只能通过`sftp`命令登录。
2. **启用SFTP**:
确保SSH服务已包含SFTP支持。默认情况下,OpenSSH服务器已经包含了SFTP,但如果之前禁用了,你需要在`sshd_config`中启用它,比如:
```
Subsystem sftp /usr/libexec/openssh/sftp-server
```
3. **重启SSH服务**:
修改配置后,你需要重启SSH服务使其生效,使用命令:
```bash
sudo systemctl restart sshd
```
4. **验证结果**:
为了确认更改是否成功,你可以在另一台机器上尝试连接,看看hn4301、hn4302和hn4303用户是否只能通过sftp而非SSH登录。
阅读全文