linux设置SSHD
时间: 2025-02-04 11:17:02 浏览: 48
### 如何在Linux中配置SSH守护进程(sshd)
#### SSHD配置概述
SSHD(Secure Shell Daemon)是用于管理通过SSH协议建立的安全连接的服务程序。其主要配置文件位于`/etc/ssh/sshd_config`[^2]。
#### 修改默认端口
为了提高安全性,可以更改SSH服务监听的默认TCP端口22。这可以通过编辑`/etc/ssh/sshd_config`文件来完成,在其中找到`#Port 22`这一行并取消注释,随后将其更改为期望的新端口号:
```bash
Port 2222
```
请注意,当改变此设置后,所有尝试访问该机器上的SSH服务的操作都需要指定新的端口号。
#### 设置允许的最大认证次数
防止暴力破解攻击的一种方法是在`sshd_config`内设定最大重试次数参数:
```bash
MaxAuthTries 3
```
这意味着如果三次密码输入错误,则断开当前会话[^4]。
#### 用户权限控制
管理员还可以利用`AllowUsers`, `DenyUsers`, `AllowGroups` 和 `DenyGroups`指令精确地定义哪些账户能够或不能够经由SSH登录系统。例如只允许特定用户组内的成员登陆:
```bash
AllowGroups sshusers
```
或者限定某些用户名才能使用SSH服务:
```bash
AllowUsers john jane
```
这些措施有助于进一步增强系统的安全性。
#### 密码验证方式调整
对于追求更高层次安全保障的情况来说,禁用基于密码的身份验证而采用密钥对的方式是一个不错的选择。可以在配置文件里加入如下语句实现这一点:
```bash
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
上述操作关闭了传统的密码校验机制转而依赖于预先交换好的公私钥来进行身份确认过程[^3]。
#### 应用新配置
每次修改完配置之后都记得重启SSH服务使改动生效。具体命令取决于所使用的发行版和服务管理系统;对于大多数现代Linux环境而言,执行下面这条命令即可:
```bash
sudo systemctl restart sshd
```
或是针对较旧版本可能需要运行:
```bash
sudo service sshd restart
```
确保任何重要的变更之前先备份原始配置文件,并测试新设是否正常工作以避免意外情况发生[^5]。
阅读全文
相关推荐















