记录一次 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系统。大功告成。

相关推荐
是阿建吖!2 分钟前
【Linux | 网络】传输层(UDP和TCP)
linux·网络·udp·tcp
dessler24 分钟前
RabbitMQ-镜像队列(Mirrored Queues)
linux·运维·rabbitmq
瑾曦28 分钟前
Docker相关命令
linux
发抖吧小喵喵31 分钟前
rpm包直接安装新系统缺少依赖问题处理
linux·运维·服务器
码农101号1 小时前
Linux中Docker Swarm介绍和使用
linux·spring cloud·docker
Nazi61 小时前
dockerfile基础
linux·运维·docker·容器·云计算
所念皆为东辞1 小时前
elk部署加日志收集
linux·elk·elasticsearch·centos
TLucas2 小时前
Centos 7部署.NET 8网站项目
linux·nginx·postgresql·centos·.net
Doris_LMS7 小时前
在Linux下安装nginx(保姆级别)
linux·运维·nginx·centos
超級二蓋茨8 小时前
在 CentOS 上安装 FFmpeg
linux·ffmpeg·centos