要修改sshd配置文件以允许SSH登录,需要编辑/etc/ssh/sshd_config文件,并确保相关配置项正确设置。以下是具体步骤和说明:
操作步骤
- 备份配置文件
在修改前建议备份原文件,以便出错时恢复:bashCopy Codesudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak - 编辑配置文件
使用文本编辑器(如vim或nano)打开配置文件:bashCopy Codesudo nano /etc/ssh/sshd_config - 修改关键配置项
确保以下配置项的值符合需求(取消注释并修改):- 允许密码登录(可选,默认可能禁用):iniCopy Code
PasswordAuthentication yes - 允许 root 登录(谨慎使用):iniCopy Code
PermitRootLogin yes - 监听端口(默认22,如需修改):iniCopy Code
Port 22 - 启用SSH服务:iniCopy Code
PubkeyAuthentication yes # 默认启用公钥认证
- 允许密码登录(可选,默认可能禁用):iniCopy Code
- 保存并退出编辑器
在nano中按Ctrl+O保存,Ctrl+X退出。 - 重启SSH服务
使配置生效:bashCopy Codesudo systemctl restart sshd - 验证配置
检查SSH服务状态和监听端口:bashCopy Codesudo systemctl status sshd sudo netstat -tulnp | grep sshd
注意事项
- 安全性:
- 避免直接使用
root登录,建议通过普通用户+sudo提权。 - 如需禁用密码登录,确保已配置SSH密钥对(
PasswordAuthentication no)。
- 避免直接使用
- 防火墙:
确保防火墙放行SSH端口(默认22):bashCopy Codesudo ufw allow 22/tcp # 若使用UFW - 日志排查:
若连接失败,查看日志定位问题:bashCopy Codesudo tail -f /var/log/auth.log
完整配置示例
iniCopy Code# /etc/ssh/sshd_config 关键配置
Port 22
PasswordAuthentication yes
PermitRootLogin no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
通过以上步骤,SSH登录将被允许。根据实际需求调整配置,并始终优先考虑安全性。