ubuntu开启ssh远程访问新文章标题
刚装的ubuntu虚拟机远程连接连不上
> ssh richard@192.168.3.21
ssh: connect to host 192.168.3.21 port 22: Connection refused
直接问AI,怎么办
以下为AI回答,完美解决
这个错误提示 ssh: connect to host 192.168.3.21 port 22: Connection refused 的核心意思是:你找到了这台机器(IP 是通的),但它拒绝了你的 SSH 连接请求。
这通常是因为目标机器没有开启 SSH 服务,或者防火墙挡住了端口 22。
既然你正在尝试以 richard 的身份登录,请按照以下步骤排查(主要需要在目标机器 192.168.3.21 上操作):
1. 检查 SSH 服务是否安装并运行(最常见原因)
如果这台机器是刚装好的 Linux(比如在飞牛/虚拟机里新装的 Ubuntu/Debian),它可能默认没装 SSH 服务。
你需要通过直接访问这台机器的终端(比如通过虚拟机的 VNC 控制台或直接接显示器键盘),输入以下命令:
-
检查 SSH 状态:
Bash
sudo systemctl status ssh如果显示
Unit ssh.service could not be found,说明没安装。 -
安装并启动 SSH(以 Ubuntu/Debian 为例):
Bash
sudo apt update sudo apt install openssh-server sudo systemctl enable --now ssh
2. 检查防火墙设置
如果 SSH 服务已运行(显示 active/running),可能是防火墙拦截了连接。
-
检查防火墙状态(Ubuntu):
Bash
sudo ufw status -
放行 SSH 端口:
Bash
sudo ufw allow ssh # 或者 sudo ufw allow 22
3. 如果这台是新创建的虚拟机 (VM)
考虑到你之前在使用虚拟环境(如飞牛、RouterOS 等),如果这是新开的一台虚拟机:
-
IP 冲突: 确认
192.168.3.21确实是这台 Linux 虚拟机的 IP(用ip addr查看),而不是局域网内其他设备的 IP。 -
网卡模式: 确认虚拟机的网卡模式是桥接模式 (Bridge),否则 IP 可能无法从外部直接访问。
下一步:
如果上面都检查了还是不行,你可以尝试在该机器本地运行 ssh localhost 看看是否能连上自己,以此判断是服务问题还是网络问题。