修改 SSH 配置文件
-
打开 SSH 配置文件
使用文本编辑器(如nano
或vi
)打开 SSH 配置文件:sudo nano /etc/ssh/sshd_config
-
修改配置
- 找到你想要修改的配置选项,例如
Port
、PermitRootLogin
等。 - 取消行首的
#
(注释符号),并根据需要进行修改。
- 找到你想要修改的配置选项,例如
-
保存并退出
- 在
nano
中按Ctrl + O
保存文件,按Enter
确认,然后按Ctrl + X
退出。 - 在
vi
中按Esc
,输入:wq
保存并退出。
- 在
-
重新启动 SSH 服务
每次修改 SSH 配置文件后,都需要重新启动 SSH 服务以应用更改:sudo systemctl restart ssh
-
验证 SSH 服务
检查 SSH 是否正常运行,确保新的配置生效:sudo systemctl status ssh
常见 SSH 配置选项及其含义
配置选项 | 含义 |
---|---|
Port | 指定 SSH 服务监听的端口号(默认是 22)。可改为其他端口以增强安全性。 |
PermitRootLogin | 是否允许 root 用户通过 SSH 登录。选项包括 yes , no , prohibit-password 。 |
PasswordAuthentication | 是否允许使用密码进行身份验证。yes 启用,no 禁用(仅使用公钥登录)。 |
PubkeyAuthentication | 是否允许使用公钥进行身份验证。默认为 yes 。 |
AllowUsers | 指定允许通过 SSH 登录的用户。格式为:AllowUsers user1 user2@IP 。 |
DenyUsers | 指定禁止通过 SSH 登录的用户。格式与 AllowUsers 相似。 |
AllowGroups | 指定允许通过 SSH 登录的用户组。 |
DenyGroups | 指定禁止通过 SSH 登录的用户组。 |
MaxAuthTries | 限制用户登录尝试失败的最大次数。默认是 6。 |
LoginGraceTime | 登录前允许用户输入密码的时间。格式如 1m (1 分钟),超时未输入则断开连接。 |
MaxSessions | 限制用户可以启动的最大会话数量。默认是 10。 |
X11Forwarding | 是否允许 X11 转发(图形界面转发)。yes 启用,no 禁用。 |
ClientAliveInterval | 指定服务器发送到客户端的保持活动包的时间间隔,以秒为单位。 |
ClientAliveCountMax | 客户端未响应的最大次数。超过此次数后,服务器断开连接。 |
PermitEmptyPasswords | 是否允许空密码的用户登录。默认是 no ,不建议改为 yes 。 |
Banner | 指定登录前显示的欢迎或警告消息的文件路径。 |
这些选项可以根据具体需求调整,从而增强服务器的安全性和灵活性。