当我们新部署一台centos虚拟机时,经常出现账号密码正确,但xshell连接不上服务器的情况,这是由于没有配置好本地网络和虚拟机网络,导致网络不通,导致物理机无法ping通虚拟机,或虚拟机无法ping通虚拟机。按照以下步骤进行配置,即可使用xshell访问部署的虚拟机,并且虚拟机也可ping通主机。
虚拟机安装CentOS
使用Vmware 通过centos的镜像,傻瓜式安装centos操作系统,安装后,使用密码登录
配置网络
1.配置本地网络
在windows本机中找到【设置】|【网络和Internet】|【高级网络设置】,选择其中的WLAN,点击更多适配器选项后的【编辑】按钮,选择【共享】页签。
勾选允许其他网络用户通过此计算机的Internet连接来连接,下方的家庭网络连接选择VMnet8。勾选后,本机的IP地址会发生变化,这一点需注意。
2.查看windows本机IP地址
cmd打开终端,输入ipconfig,查看VMnet8对应的IPv4地址和子网掩码(一般是255.255.255.0),有默认网关的也要看默认网关,记录下来,后面要用。
若输入后提示:'ipconfig'不是内部或外部命令,也不是可运行的程序,或批处理文件,则进行以下配置:
打开【设置】|【高级系统设置】,点击【环境变量】。
Path中增加:C:\windows\system32。
再次打开cmd,输入ipconfig,即可查看网络信息。
3.配置vmware的虚拟网络编辑器
选择VMnet8,设置子网IP,前三位与windows本机的IP地址一样,最后一位是0,子网掩码与windows本机一致。
点击NAT设置,设置网关IP,前三位与子网IP必须一致,最后一位为一个当前还未占用的IP即可。
点击添加,设置端口映射,虚拟机IP地址与上面设置的网关IP一致,只有设置过的端口,才会对外开放。
4.设置虚拟机静态IP
打开虚拟机终端,使用root用户登录(若使用其他用户登录,会提示当前文件为只读文件,不能进行修改),输入以下命令,打开网络配置文件。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改网络配置文件:
- BOOTPROTO改为static,即静态IP
- ONBOOT改为yes
- IPADDR前三位与上面设置的网关IP一样,最后一位不能是0、1和上面设置的网关IP
- NETMASK为上面设置过的子网掩码
- GATEWAY与上面设置的网关IP一样
- DNS1设置为8.8.8.8
wq保存修改内容,重启网络
service network restart
看到OK即为重启成功。
5.安装openssh-server
使用以下命令查看openssh-server是否安装
yum list installed | grep openssh-server
若执行后有结果,则说明已安装。
使用以下命令,打开ssh配置文件
vi /etc/ssh/sshd_config
修改ssh配置文件:
- 打开端口号和监听地址
- 打开允许root用户登录
- 打开密码认证
wq保存修改内容,重启openssh-server
service sshd restart
使用以下命令,检查ssh是否已经重启成功
ps -e | grep sshd
此时使用xShell即可连接本虚拟机了。
6.xshell连接虚拟机
在xshell中添加一个新的连接,协议为SSH,主机为虚拟机设置的静态IP地址。
选择用户身份验证,输入设置好的用户名密码。该用户名密码可以是普通用户,也可以是root用户,方法勾选Password点击确定。此时使用该连接,即可访问部署好的虚拟机了,此时使用虚拟机ping物理机,能够ping通。
7.保证物理机能够ping通虚拟机
打开物理机防火墙,点击【允许应用或功能通过Windows Defender 防火墙】。
找到【虚拟机监控】,勾选【专用】和【公用】,点击【确定】。此时使用虚拟机再ping主机IP,发现可以ping通。
、