记录一次 xshell 无法连接 虚拟机下的linux过程

为了尝试配置nginx,于是在本地的虚拟机下安装了centos来进行一些试验。但安装好后,过程并不顺利。于是记录下来,方便往日回顾问题。

输入ip addr 指令,并没有显示ip地址

通过查询,这是因为网卡未启动的原因。

cd /etc/sysconfig/network-scripts

vi ifcfg-ens33

进入到network文件夹,然后对ens33进行配置。

ONBOOT=YES

systemctl restart network

配置好退出,并重启网络

这时候,输入 ip addr 可以发现已经可以获取到ip地址

inet 192.168.xxx.xxx

通过 ping指令也能测试网络是否正常。但还没有结束,因为这个IP地址是动态分配的,还需要回到ens33的配置文件,把ip设置为静态,这样才能稳定通过IP来连接。

BOOTPROTO=dhcp 设置为BOOTPROTO=static,然后添加IPADDR=192.168.xxx.xxx,这里的IP地址,可以通过虚拟机的虚拟网络编辑器 NAT模式下的网关知道。例如我的是192.168.231.2,那我这里的就是IPADDR=192.168.231.3

然后添加子网掩码PREFIX=24,相当于NETMASK=255.255.255.0

配置网关的IP地址 GATEWAY=192.168.231.2

然后指定一个DNS服务器,DNS1=114.114.114.114,这个是由国内公共DNS服务提供商CNNIC运营的。

保存退出,再次重启网络服务,可以发现IP地址已经变成配置好的静态地址。通过PING指令测试网络也没有问题。

正当以为一切顺利的时候,用xShell进行连接,发现连接不上。

检查是否没安装ssh服务

因为xShell是通过ssh连接,所以我先检测了虚拟机是否没有安装ssh服务,可以通过ssh -V指令来查看

如果没有则安装

yum install openssh-server

systemctl start sshd

systemctl enable sshd

systemctl status sshd

通过指令可以知道ssh已经处于运行状态。

于是我再次使用xShell进行连接,但发现还是不行。

检查防火墙是否没有放行 22 端口

因为ssh默认通过22端口连接,于是查看是否防火墙问题。

先通过systemctl status firewalld命令查看防火墙运行状态,如果运行,则firewall-cmd --list-all查看是否已经放行22端口。(firewall-cmd --zone=public --list-ports 也可以)

如果没有,则添加22端口。

firewall-cmd --zone=public --add-port=22/tcp --permanent

然后重启防火墙firewall-cmd --reload

这时候再通过firewall-cmd --zone=public --list-ports 可以看到,已经有22端口。

但但是!当我再次连接的时候,还是失败了。

于是通过百度,发现了可能是网络适配器的问题。

检查网络适配器

因为虚拟机是通过nat连接网络,对应的VMnet8是处于关闭状态的,于是连忙启动,然后再次连接,但是连接上了吗?并没有。通过检索知道,主机想要连接到虚拟机,需要保证同处一个局域网下,于是我又开始检查起了IP地址。

然后发现这个适配器的IP地址与虚拟机linux系统配置的静态IP地址并不处于同一个局域网下,也就是前3段不同,于是修改适配器的地址,从动态分配改为静态IP。

双击选中项

把IP地址写定,前三段与虚拟机配置一致,保存退出,然后重启适配器。

再次连接虚拟机下的linux系统。大功告成。

相关推荐
Volunteer Technology7 分钟前
Centos7安装python和jupyter
linux·python·jupyter
馨谙13 分钟前
Linux面试题----rpm,dnf,Application Streams,Modules软件存储库
linux·运维·服务器
wdfk_prog16 分钟前
[Linux]学习笔记系列 -- [drivers][base]core
linux·笔记·学习
tan 9118 分钟前
KaliLinux2025.4 root用户修改显示语言
linux·服务器·前端·安全
Byte不洛28 分钟前
从除 0 到 SIGPIPE:Linux 信号的真正来源
linux
小码吃趴菜37 分钟前
守护进程及其编程流程
linux·运维·服务器
久违8161 小时前
PHP 安全与部署知识总结
linux·ubuntu·php
开开心心就好1 小时前
内存清理工具点击清理,自动间隔自启
linux·运维·服务器·安全·硬件架构·材料工程·1024程序员节
数据知道1 小时前
万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
linux·windows·postgresql
浅安的邂逅1 小时前
ubuntu 18.04及以上版本 ping命令报错:Name or service not known解决方法
linux·运维·ubuntu·ip设置