解决linux虚拟机上网问题和xshell连接虚拟机

     刚上手linux,我用的是VMare Workstation虚拟机,装的是Ubuntu操作系统,就遇到虚拟机不能上网问题,以及xshell连接虚拟机失败。网上找了好多相关问题的解决方案,在懵懵懂懂中终于解决了上述问题。记录一下,以供参考

1.首先  window+r   输入  cmd   进入命令行输入:      ipconfig        可以看到如下:重点关注:

本机的ip是192.168.3.16     子网掩码是255.255.255.0(也就是说ip为192.168.3.x的电脑才算是和我的电脑处于同一号段,在局域网中只有处于同一号段的才能进行远程连接通信和互相ping同ip:[补充以下:如果子网掩码是255.255.0.0,那么ip是192.168.x.x的就算是处于同一号段])

2.打开网络适配器:

这里我们需要将VMnet8的ip指定为192.168.x.x  (这里我设置的是192.168.25.1,可以参照我的来设置,192.168是从cmd「命令行里查出来的,25.1可在0~255间随便命名)   

 注:如果自己的电脑不能上网,需要检查是否设置的为自动获取ip  [使用自己配置的ip一般不对]

打开vm的编辑===>虚拟网络编辑器:更改相应配置如下:(因为我使用的是nat模式,它可以和主机共享ip,所以即使子网掩码是255.255.255.0,我只需要虚拟机的前两个字段192.168和主机的一致,那么虚拟机就可以和主机之间互相通信,但如果使用的是桥接模式,那么就必须要前三个字段一致,192.168.3.x)

扫描二维码关注公众号,回复: 5729103 查看本文章

3.分别打开主机,虚拟机的终端:使用ping命令互相ping    ip  测试二者间能否互相通信:

4.使用xshell连接虚拟机:

首先需要在虚拟机上安装ssh服务

$ sudo apt-get install openssh-server           #安装ssh

$ sudo /etc/init.d/ssh start                    #启动服务

$ ps -e|grep ssh                                #.检查服务是否启动成功

$ sudo /etc/init.d/ssh start                    #启动SSH命令   

$ sudo /etc/init.d/ss stop                      #停止SSH命令,重新连接你会发现不能再连接上了
$ sudo /etc/init.d/ss restart                   #重启SSH命令

$ sudo vim /etc/ssh/sshd_config                 #系统默认端口为22,修改可执行命令:



$ sudo /etc/init.d/ss stop                        #先停止
$ sudo apt-get remove openssh-sftp-server         #再卸载sftp服务
$ sudo apt-get remove openssh-server              #卸载openssh-server服

sudo ufw status           #检查防火墙状态

sudo ufw disable          #关闭防火墙  或者   service iptables stop       #iptables防火墙

sudo ufw allow 22         #开放22端口

打开xshell,点击文件,新建,弹出的会话框中输入你的远程主机的ip(192.168.25.128),他就会弹出对话框,教你输入linux的用户名和密码

但遇到点背的,比如说我,(虚拟机和主机能互ping ip,xhell中注入liunx的ip后,没有弹出输入用户名的对话框,窗口报错说连接失败)。你就需要先新建一个会话,然后在黑框中ping 一下linux的ip,再双击新建会话,才会弹出输入用户名的框

如果点更背,以上操作都不行,还可以考虑通过配置文件来修改ip(指定静态ip,动态ip)

vim /etc/network/interfaces                #ubuntu是这样,默认的网卡名是ens33,centos则为/etc/sysconfig/ifconfig eth0 默认网卡名eth0

 在文件中添加如下内容(再输入命令重启network============sudo /etc/init.d/networking restart):


#auto ens33

iface ens33 inet dhcp                             #设置ip为动态ip
#iface ens33 inet static                          #注释dhcp行,释放下面的行,再根据自生情况配置正确的address========ip地址,netmask=========子网掩码,gateway=========网关
#address 192.168.3.127
#netmask 255.255.0.0
#gateway 192.168.43.1
#dns-nameservers 114.114.114.114                   #配置dns才能上网

再做如下更改:

2、执行 vim /etc/NetworkManager/NetworkManager.conf     将managed=false 改成true

3、执行vim /etc/resolvconf/resolv.conf.d/base 然后加入 nameserver 你的DNS服务器IP   

4、重启机器。应该就可以上网了。

解决了这些问题,终于可以开始我的分布式学习了,也对linux有了了解,开心。哈哈。

猜你喜欢

转载自blog.csdn.net/qq_41063141/article/details/88818280