ssh链接ubuntu虚拟机连接失败

在这里插入图片描述
好,这个不是网络问题,而是SSH 认证被服务器拒绝
你这张图里的关键信息已经把原因暴露出来了。


先给结论(非常明确)

👉 你现在“能连到这台虚拟机”,但 root 用户被 SSH 明确拒绝用密码登录。

所以表现是:

  • ❌ 不是 IP 不通
  • ❌ 不是端口不通
  • ❌ 不是桥接 / 网卡问题
  • ✅ 是 Ubuntu 默认安全策略

看图里 3 个关键点

① 远程主机

192.168.2.102:22

✔ IP 对(就是你虚拟机的桥接 IP)
✔ 22 端口能通(否则连这个界面都不会出来)


② 服务器类型(关键

OpenSSH_8.9p1 Ubuntu-3ubuntu0.13

⚠️ 这是 Ubuntu,不是 CentOS

Ubuntu 的默认行为是:

禁止 root 通过 SSH 使用密码登录


③ 明确的报错

SSH 服务器拒绝了密码,请再试一次

这句话的真实含义是:

服务器说:
“我收到了你的密码,但我策略上不允许 root 用密码登录”

⚠️ 不是密码错


为什么 Ubuntu 要这么干(设计层面)

Ubuntu 默认:

PermitRootLogin prohibit-password

意思是:

  • root 可以:

    • ❌ 密码登录(禁止)
    • ✅ 公钥登录(允许)
  • 普通用户可以:

    • ✅ 密码登录
    • ✅ sudo 提权

这是标准生产级安全配置


你现在有 3 种正确解法(从推荐到不推荐)


✅ 方案一(最推荐):用普通用户登录 + sudo

1️⃣ 用你安装 Ubuntu 时创建的用户登录

比如:

用户名:ubuntu / svit / zhangyizhuo / 你自己建的

2️⃣ 登录后提权

sudo -i

sudo su -

👉 这才是 Ubuntu 官方推荐方式


⚠️ 方案二(开发环境可用):允许 root 密码登录

只建议你在虚拟机 / 学习环境用

1️⃣ 先在虚拟机“控制台”里登录(不是 SSH)

在 VirtualBox 窗口里:

sudo -i

2️⃣ 编辑 SSH 配置

vim /etc/ssh/sshd_config

找到或加上:

PermitRootLogin yes
PasswordAuthentication yes

⚠️ 注意不是注释行


3️⃣ 重启 SSH 服务

systemctl restart ssh

或:

systemctl restart sshd

4️⃣ 再用 SSH 工具连

用户名:root
密码:root 的密码

🔐 方案三(最安全):root 公钥登录

如果你后面玩服务器,这个是终极方案,我可以单独带你一步步配。


顺手帮你再确认一件事(很重要)

你之前 ifconfig 里:

enp0s3 192.168.2.102

说明:

✔ 桥接网卡 OK
✔ 局域网访问 OK
✔ SSH 网络路径完全正常

问题 100% 在 SSH 登录策略


一句话定性

你不是“连不上服务器”,
而是“被 Ubuntu 拒绝用 root 密码登录”。


下一步我可以直接带你做的事(你选一个)

1️⃣ 判断你这台 Ubuntu 有没有普通用户
2️⃣ 手把手改 sshd_config(逐行解释)
3️⃣ 给你一个 开发环境 vs 生产环境 的 SSH 最佳配置
4️⃣ 顺带讲清:CentOS 为啥默认能 root 登录,Ubuntu 不行

你说选哪个,我直接继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值