解决虚拟机无法SSH登录问题

解决虚拟机无法SSH登录问题

_

一、出现的问题

在实验学习过程中,通常会用到虚拟机来模拟实验环境。但是在新安装的Linux虚拟机时,往往可能会借助超级终端如MobaXterm或SecurityCRT进行连接。对于新手来说,在这个连接的过程中往往会出现不同的问题,导致连接失败,这里为大家提供排查思路。

节点设置

主机名

网络信息

系统版本

meaauf-PC

192.168.8.227/24

UOS Desktop 20 Professional

二、问题解决

1. 宿主机与虚拟机网络不通

[Hints] 提示的错误信息:Connection timed out。

PS C:\Users\Meaauf> ssh root@192.168.8.227
ssh: connect to host 192.168.8.227 port 22: Connection timed out
PS C:\Users\Meaauf> ssh meaauf@192.168.8.227
ssh: connect to host 192.168.8.227 port 22: Connection timed out

[Step1] 一般出现该问题的原因是网络不可达,即宿主机与虚拟机的网络无法ping通。

[Step2] 检查虚拟机是否通过DHCP或手动设置了IP地址。

meaauf@meaauf-PC:~$ ip add show

[Step3] 检查虚拟机网络适配器设置,确保网络适配器、适配器对应虚拟网卡、虚拟网络编辑器子网厨艺同一网段。

[Step4] 三处地方一致后,宿主机与虚拟机便可互联互通。

2. SSH连接被拒绝

[Hints] 提示的错误信息:Connection refused。

PS C:\Users\Meaauf> ssh meaauf@192.168.8.227
ssh: connect to host 192.168.8.227 port 22: Connection refused
PS C:\Users\Meaauf> ssh root@192.168.8.227
ssh: connect to host 192.168.8.227 port 22: Connection refused

[Step1] 一般出现该问题的原因是SSH服务未启动。

meaauf@meaauf-PC:~$ systemctl status ssh.service 

[Step2] 有一些Linux是安装后SSH服务默认启动,而有些Linux是默认不启动,启动SSH服务即可。

meaauf@meaauf-PC:~$ sudo systemctl enable --now ssh.service 

[Step3] 此时能够正常连接到服务器。

3. 权限被拒绝

[Hints] 提示的错误信息: Permission denied (publickey,password)。

PS C:\Users\Meaauf> ssh meaauf@192.168.8.227
meaauf@192.168.8.227's password:
验证成功
Welcome to UOS Desktop 20 Professional
​
homepage:https://www.chinauos.com/
​
bugreport:https://bbs.chinauos.com/
meaauf@meaauf-PC:~$ exit
注销
Connection to 192.168.8.227 closed.
PS C:\Users\Meaauf>
PS C:\Users\Meaauf> ssh root@192.168.8.227
root@192.168.8.227's password:
Permission denied, please try again.
root@192.168.8.227's password:
Permission denied, please try again.
root@192.168.8.227's password:
root@192.168.8.227: Permission denied (publickey,password).

[Step1] 普通用户可以登录,而root用户被拒绝。这通常是为了安全,禁止root用户直接通过ssh登录系统,但是可以先利用普通用户登录,然后切换到root用户。

PS C:\Users\Meaauf> ssh meaauf@192.168.8.227
meaauf@meaauf-PC:~$ su -

[Step2] 如果希望允许root用户直接登录到系统,修改SSH配置文件。

meaauf@meaauf-PC:~$ sudo vim /etc/ssh/sshd_config 
​
# 修改选项值如下
PermitRootLogin yes

[Step3] 修改配置文件后需要重启ssh服务。

meaauf@meaauf-PC:~$ sudo systemctl restart ssh

[Step4] 此时能够通过root用户连接到服务器。

4. 禁止明文登录

[Hints] 提示的错误信息: Permission denied (publickey)。

PS C:\Users\Meaauf> ssh root@192.168.8.227
root@192.168.8.227: Permission denied (publickey).
PS C:\Users\Meaauf> ssh meaauf@192.168.8.227
meaauf@192.168.8.227: Permission denied (publickey).

[Step1] 普通用户和root用户被拒绝登录。这通常是在配置文件中显式拒绝了使用明文password登录,修改SSH配置文件即可。

meaauf@meaauf-PC:~$ sudo vim /etc/ssh/sshd_config 
​
# 修改选项值如下
PasswordAuthentication yes

[Step2] 修改配置文件后需要重启ssh服务。

meaauf@meaauf-PC:~$ sudo systemctl restart ssh

[Step3] 此时能够通过普通用户和root用户连接到服务器。


EVE-NG配置擦除与预配置 2026-03-21
Docker | 容器镜像原理与构建方法 2026-03-21

评论区