按DigitalOcean教程配置后SSH连接超时,HTTPS站点正常,求助
排查与解决步骤
1. 检查服务器本地防火墙(UFW)规则
即使云安全组开放了端口,服务器本地UFW可能限制了22端口:
- 通过DigitalOcean控制台的Web终端登录服务器(这是当前唯一的登录方式)
- 查看UFW当前规则:
sudo ufw status verbose - 如果未显示
22/tcp的允许规则,添加并重启UFW:sudo ufw allow 22/tcp sudo ufw reload
2. 确认SSH服务运行状态与配置
- 检查sshd服务是否正常运行:
sudo systemctl status sshd - 如果服务未启动,启动并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd - 检查SSH配置是否修改了默认端口:
sudo grep -i port /etc/ssh/sshd_config- 若端口不是22,需在云安全组开放对应端口,或者改回22后重启sshd:
sudo systemctl restart sshd
- 若端口不是22,需在云安全组开放对应端口,或者改回22后重启sshd:
3. 恢复ICMP响应(解决ping无响应问题)
服务器可能禁用了ICMP导致ping无响应,同时也可能影响SSH连接的网络探测:
- 查看当前ICMP设置:
sudo sysctl net.ipv4.icmp_echo_ignore_all - 若输出为
1,执行以下命令恢复ICMP响应:sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0 - 修改配置文件确保重启后生效:
sudo sed -i 's/net.ipv4.icmp_echo_ignore_all=1/net.ipv4.icmp_echo_ignore_all=0/' /etc/sysctl.conf
4. 排查Let's Encrypt配置的影响
Certbot配置HTTPS时可能意外调整防火墙规则,需确保22端口规则优先级最高:
sudo ufw insert 1 allow 22/tcp sudo ufw reload
5. 重新验证云安全组规则
再次检查DigitalOcean安全组的入站规则:
- 确认22端口的来源为
0.0.0.0/0(所有IPv4地址) - 确保22端口的规则优先级高于其他拒绝类规则
- 检查出站规则是否限制了SSH相关的网络请求(默认允许所有出站,无需修改)
6. 排除本地网络限制
- 更换网络环境(如手机热点)尝试SSH连接,排除本地路由器或防火墙封禁22端口的可能
- 使用
telnet测试端口连通性:telnet [服务器公网IP] 22- 若提示
Connection timed out:网络层面阻塞,重点检查云安全组或本地网络 - 若提示
Escape character is '^]':端口连通,问题出在SSH服务配置
- 若提示
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

