一般在虚拟机内安装一个Linux系统,虚拟机网络设置为桥接后,Linux系统会在安装的过程中自动设置其为dhcp配置,会给其随机分配一个ip,这个ip可以用命令 "ifconfig" 查看。当然,这个命令需要在root权限下才可以用,或者普通用户拥有sudo权限。
如果没有在安装Linux系统时选择安装桌面,不出意外的话将进入纯指令终端界面。
Linux原生终端窗口有几个缺点:
1、长宽固定,你没办法在一个界面看到更多内容;
2、无法上行,其他的窗口可以通过方向键向上向下翻页查看内容,不过原生窗口是固定死的,你无法翻看前面的内容,如果显示的内容超过了一页的长度,你只能看到最后一页的内容,这个问题是最坑的。
3、Linux内核中是没有中文字库的,如果在原生窗口下查看中文,很有可能是一些乱码。
所以,用其他窗口来代替原生窗口变得非常重要了。
想到这里,ssh远程登录呼之欲出。
使用ssh登录远程主机来操作好处说不完,最重要的是可以使用各种窗口来操作Linux系统。我们可以复制、粘贴甚至可以拖拽。所以,使用ssh远程登录操作主机已经成为了工作时做的第一件事。
如果ssh登录,我们只要知道了该主机的外网ip和端口,以及在该主机上安装启动了ssh服务后,就可以通过ssh来远程登录了。这方面的资料很多,这里就不多说了。
不过这里有一种情况:如果需要访问远程服务器内的几个虚拟主机内的一个,该如何做?
这里有两种方法:
1、知道了远程服务器的ip后,通过端口映射,就如同外网访问局域网内的主机一样,通过服务器ip+映射端口来远程访问;
2、通过内部ip来访问。
这里主要谈谈第二种方法。当然,前提是你需要能够远程登录服务器内的一台机器。
我们来设想一个情况,我们能够登录服务器,不过在服务器内新建的虚拟机内装的Linux系统却由于不知道其外网ip而无法访问。我们也无法通过设置端口映射来访问他。这时候可以这么做:
1、设置其网络连接为桥接模式;
2、该Linux系统的ip与服务器内其他主机的ip在同一个网段,并且能够ping通。比如:192.168.1.3 和192.168.1.14在同一个网段,而192.168.0.8和192.168.4.5不是一个网段,所以也无法ping通。如果两者不再同一个网段,可以手动设置静态ip来将其与服务器主机设置为同一网段。
3、Linux系统内开启了ssh服务。
4、能够正常连接外网,一般第3条达到条件了,也就能连接外网了。
5、首先通过ssh连接服务器内可以远程登录的主机,然后在该主机内部再次用ssh登录目标虚拟机,分两次来登录该虚拟机。这样就可以避开必须知道该虚拟机内系统的外网ip与端口来远程访问该虚拟机了。
当然,最正确的方法还是第一种方法,端口映射访问。不过第二种方法也能达到某些情况下的需求。各取所需罢了!