XShell连接虚拟机Linux

时间:2021-03-02 15:08:07

        在学习Linux系统时,通常我们都是在虚拟机中练习,并且时不时的还要回到物理机中查看教程和做笔记等。这样需要把键盘鼠标定位到虚拟机中才能输入和控制,退出虚拟机回到物理机输入的时候又要使用Ctrl+Alt才能将键盘鼠标定位到物理机,非常不方便。而且虚拟机中的Linux窗口和终端都看的很不爽。要是能像实际工作中那样,使用Xshell直接连接服务器一样连接我们虚拟机中的系统该多好。


基本思路

        Xshell连接Linux系统是需要知道主机,即要连接的系统机器的IP地址。因此,要使用Xshell连接虚拟机里中Linux,当然也要首先知道这个Linux的IP地址,并且这个IP地址要在物理机中能ping通,保证物理机系统和虚拟机系统的网络是通的,这是最基本的思路。

 

实验环境

        这里使用Windows7、VMware Workstation 11.0 、 CentOS7.0、Xshell4 作为实验环境。


操作步骤

一、物理机中的设置

        VMware Workstation11.0(其他版本也一样)安装完之后,会在“网络和共享中心”产生两个虚拟网卡,分别是VMware Network Adapter VMnet1 和 VMware Network AdapterVMnet8,如图所示:

        XShell连接虚拟机Linux

        VMnet1是“仅主机模式(hotst-only)”的虚拟网卡,在专用网络内连接虚拟机时使用,或者说这个虚拟网卡仅用于物理机与虚拟机之间的互联,因此虚拟机是无法联网的。

VMnet8是“NAT模式”,虚拟机共享物理机的IP地址,因此这种方式虚拟机是可以联网的。

        这里先以VMnet1举例,其实VMnet8也是与之一样的设置。


1.设置VMnet1的IP地址,这里我设置为192.168.197.1,其实安装完Vmware Workstation 11后VMnet1的IP默认就是这个,所以这步相当于没有做任何修改,如果没有自动设置该IP,则需要手动设置。如图:

              XShell连接虚拟机Linux


2.配置虚拟机的子网网段。之前思路里说过,要保证物理主机和虚拟机的网络能ping通,由于物理主机中设置了虚拟机的虚拟网卡(也可以理解成是物理机的一块物理网卡)的IP为192.168.197.1,因此虚拟机如果要使用VMnet1这个网卡与物理机通信,因此虚拟机的IP要设置为和192.168.197.1处于同一个网段,即192.168.197.0—192.168.197.255之间。

        点击Vmware Workstation的菜单 编辑->虚拟网络编辑器,从VMnet0、VMnet1、VMnet8中选择VMnet1,然后选择VMnet信息栏中的“仅主机模式”,再设置子网IP为:192.168.197.0,子网掩码为:255.255.255.0    如图:


        XShell连接虚拟机Linux


        我的虚拟机安装完之后这里的值和选项也都是默认的,所以这一步相当于没做任何修改

        这一步就限制了如果虚拟机中的系统使用VMnet1这个网卡,那么系统的IP必须设置为192.168.197.0这个子网中的IP才能正常使用VMnet1这个虚拟网卡与物理机通信。

 

3.设置虚拟机中Linux所使用的网络适配器的网络连接方式。这里我们使用VMnet1举例,所以网络适配器的网络连接就应使用对应的主机模式。在虚拟机中选择Linux系统,右键->设置,在对话框的“硬件”选项卡中,选择网络适配器,然后选择右边网络连接中的“仅主机模式”,该设置就是告诉虚拟机的Linux使用VMnet1和VMnet8哪个虚拟网卡。如图:

        XShell连接虚拟机Linux


4.设置虚拟机中Linux系统的IP地址。由于第2步设置了VMnet1的子网IP,因此如果虚拟机中的系统使用VMnet1这个网卡,那么系统的IP必须设置为192.168.197.0这个子网中的IP才能正常使用VMnet1这个虚拟网卡与物理机通信。

        这里以CentOS7为例,使用vi编辑器或者进入CentOS的图形界面,进入目录/etc/sysconfig/network-scripts在该目录有个文件名为:ifcfg-eno16777736。该文件就是CentOS的IP配置文件。由于Linux系统的系列和版本不同,文件名略有差异,例如早期版本或RedHat版本可能为ipfig-eth0
        由于CenOS7增强了对IPV6的支持,所以该文件中默认的网络连接IP使用的是IPV6。我们要在配置文件中增加IPV4的配置,如果文件中原本没有的配置项,手动增加即可,如图:

        XShell连接虚拟机Linux

        注意:这里对Linux的网络配置文件编辑后需要重启网络服务才能生效!命令为:service network restart

       

        此时就完成了所有的设置,其实就第3步和第4步这两个设置,其他都是默认的。现在回到物理机,在CMD下使用ping命令测试是否能连接到虚拟机中的Linux,可以看到一切正常,说明物理机和虚拟机中的Linux的网络通了。


         5.使用Xshell连接Linux。由于物理机和虚拟机中Linux的网络已经配通,因此可以使用Xshell直接连接虚拟机的Linux了,使用刚才为Linux配置的IP:192.168.197.2 即可。打开Xshell,选择 文件->新建 在弹出的对话框左侧选择“连接” 然后在右侧输入会话名称,主机(H)(192.168.1967.2),其他保持默认即可,点击确定。这时候会提示输入用户名,就是虚拟机中Linux的用户名,之后再输入密码即可连接成功!为了方便以后使用,输入用户名和密码时我们都选择保存用户名和保存密码。


        如果我们想让虚拟机中的Linux可以联网,则虚拟机必须使用VMnet8这个虚拟网卡。此时需要做的修改有:

        1.设置物理机的网络连接中适配器管理中的VMnet8的IP地址;

        2.虚拟机的 编辑->虚拟机网络编辑器中选择VMnet8,设置子网IP和子网掩码;

        3.设置虚拟机的Linux的网络适配器的网络连接方式,选择NAT模式;

        4.设置Linux的IP地址,和步骤1设置的VMnet8在一个网段即可;

        5.重启Linux网络服务。

 

        此时要使用Xshell连接虚拟机Linux,则就需要使用步骤4中为Linux设置的和VMnet8在同一个网段的IP地址了。


        这样使用Xshell连接虚拟机的方式就很方便学习中使用了。将虚拟机中Linux设置为只启动系统不要启动图形界面,然后系统启动之后在Vmware中设置系统在后台运行,这样就可以关闭Vmware窗口了,大大节省了内存和桌面空间。

        至于如何设置Vmware让系统在后台运行,请自行百度!