物理机通过ssh来连接虚拟机

物理机通过ssh来连接虚拟机

1.测试机器:
物理机:ubuntu18.04(client)
虚拟机:manjaro19.02(server)

2.目的:用物理机(client)使用ssh来连接虚拟机(server),该方法可以用来连接云服务器,也可以物理机连接虚拟机达到节约内存的目的(虚拟机使用命令行界面比使用图形化界面大大节省了系统资源)

3.作者自述:最早了解ssh是之前使用腾讯云的服务器,也曾经尝试过用物理机连接虚拟机,但是却连接失败便没有深究。直到最近开始学习manjaro,我在vmware中使用manjaro不能全屏,真的很难受,虽然也尝试使用vmtools来解决这个问题,但是却没有找到一个合适的解决办法(感觉manjaro有点特殊,我虚拟机里使用centos就可以直接使用vmtools达到全屏的目的)。于是我想到使用物理机连接虚拟机来解决我一直使用小屏的烦恼,同时让我的manjaro使用命令行界面来节省我的系统资源。


正文:

1.首先我们需要找到虚拟机网络设置分哪几种,并有什么区别:设置网络适配器模式,可以桥接物理网络(例如电脑连接wifi,虚拟机就和电脑连接同一个wifi),或者NAT模式(类似于电脑成为一个路由器,虚拟机连接电脑的热点),如果不想联网,只用于物理机和虚拟机之间的交流,可以选择主机模式。

2.说白就是:如果你选择了桥接模式,你物理机没连接WiFi时就不能通过ssh来连接到虚拟机,选择NAT模式就算物理机没连到WIFI我们也可以ssh连接上虚拟机(所以笔者建议大家使用NAT模式,毕竟我们不是无时无刻连接WIFI,但是如果经常使用WIFI也可以考虑桥接模式,而且如果你虚拟机使用kali,并想拿kali进行实战操作,那只能使用桥接模式了)

3.关于可以使用ssh的两种情况,其一就是客户端和服务端必须在同一个局域网下面(就是同一个WIFI下),我们物理机连接虚拟机就是利用这个原理。第二种情况就是如果我们服务端如果有一个公网IP,那么即使客户端和服务端没有在同一个局域网下我们也可以通过ssh连接到服务端,该情况最典型的例子就是云服务器。

4.当确保了我们前面提到的两种情况时,我们就可以接着进行下一步。我们要确保物理机(客户端)的ssh服务是开启的、虚拟机(服务端)sshd服务是开启的。systemctl start ssh(d)来开启服务,其中start参数还可以替换为status、enable、disable、restart、stop等来满足我们的各种需求,在此便不详说了。

5.等我们一切条件都准备好,我们就可以开始连接了,使用ifconfig或者ip add来查看我们虚拟机(服务端)的ip地址,然后我们在物理机(客户端)使用:ssh 虚拟机用户名@虚拟机ip,即可连接到虚拟机,同样的我们也可以使用该方法连接到云服务器。

附加:这边考虑到大多数用户物理机使用的windows,我们这边建议在windows上使用xshell来实现连接虚拟机(云服务器)的目的,与本文方法几乎也适用于windows用户。

你可能感兴趣的:(Linux,虚拟机,服务器)