修改 SSH 配置文件
-
打开 SSH 配置文件
使用文本编辑器(如
nano
或vi
)打开 SSH 配置文件:bashsudo nano /etc/ssh/sshd_config
-
修改配置
- 找到你想要修改的配置选项,例如
Port
、PermitRootLogin
等。 - 取消行首的
#
(注释符号),并根据需要进行修改。
- 找到你想要修改的配置选项,例如
-
保存并退出
- 在
nano
中按Ctrl + O
保存文件,按Enter
确认,然后按Ctrl + X
退出。 - 在
vi
中按Esc
,输入:wq
保存并退出。
- 在
-
重新启动 SSH 服务
每次修改 SSH 配置文件后,都需要重新启动 SSH 服务以应用更改:
bashsudo systemctl restart ssh
-
验证 SSH 服务
检查 SSH 是否正常运行,确保新的配置生效:
bashsudo 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 |
指定登录前显示的欢迎或警告消息的文件路径。 |
这些选项可以根据具体需求调整,从而增强服务器的安全性和灵活性。