Ubuntu 22.04 新系统连不上 Xshell,通常是 SSH 服务未启动 或 防火墙阻止 导致的。按以下步骤排查:
第一步:检查 SSH 服务状态
在服务器本地(或通过VNC/控制台)执行:
检查 SSH 服务是否安装
dpkg -l | grep openssh-server
如果没安装,立即安装
sudo apt update
sudo apt install -y openssh-server
检查服务状态
sudo systemctl status ssh
如果没运行,启动并设置开机自启
sudo systemctl start ssh
sudo systemctl enable ssh
第二步:检查防火墙设置
查看防火墙状态
sudo ufw status
如果防火墙是激活的,允许SSH端口
sudo ufw allow ssh
或指定端口号(如果修改过默认端口)
sudo ufw allow 22/tcp
云服务器注意:检查云平台的安全组规则,确保 TCP 22 端口 已开放。
第三步:检查 SSH 配置
编辑配置文件:
sudo nano /etc/ssh/sshd_config
确保以下关键配置正确(去掉注释或修改为):
ini
复制
PermitRootLogin yes # 允许root登录(生产环境建议用普通用户)
PasswordAuthentication yes # 允许密码认证
Port 22 # 监听端口
修改后重启服务:
sudo systemctl restart ssh
第四步:验证服务器IP和可达性
查看服务器IP
ip addr show
从本地ping测试(在Xshell所在电脑执行)
ping <服务器IP>
第五步:Xshell 连接设置检查
在 Xshell 中确认:
主机:填写正确的服务器IP地址
端口:22(除非修改过)
协议:SSH
用户身份验证:密码或密钥(确保服务器端已启用对应方式)
快速诊断命令
如果仍连不上,在服务器执行以下命令查看连接日志:
实时查看SSH日志
sudo tail -f /var/log/auth.log
检查端口监听
sudo ss -tuln | grep :22
最常见原因:新系统未安装 openssh-server 或防火墙未放行。先解决这两步,90%的问题都能解决。