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

相关推荐
九皇叔叔28 分钟前
Linux Shell 中的 $():命令替换的核心用法
linux·运维·chrome
半桔1 小时前
【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
linux·网络·网络协议·tcp/ip
大聪明-PLUS1 小时前
TCP/IP 协议族—理论与实践(二)
linux·嵌入式·arm·smarc
liulilittle1 小时前
Linux内核网络优化:两个网络调优解决方案
linux·运维·服务器·网络·内核·信息与通信·通信
hweiyu001 小时前
Linux运维实战:系统及服务管理(视频教程)
linux·运维·服务器
风随心飞飞1 小时前
linux 环境下mysql 数据库自动备份和清库 通过crontab 创建定时任务实现mysql数据库备份
linux·数据库·mysql
止观止1 小时前
VS Code 二次开发:跨平台图标定制全攻略
linux·windows·vscode·macos
九皇叔叔2 小时前
Windows用Notepad++编辑Shell脚本:一招解决Linux执行报错问题
linux·windows·notepad++
柳鲲鹏3 小时前
交叉编译:strip: Unable to recognise the format of the input file xx.c.o
linux·运维·服务器
六六六六六66663 小时前
Ubuntu22.04安装Ibus的中文输入法
linux