windows下通过ssh命令连接virtualbox虚拟机中linux的实践

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_32590631/article/details/82751297

最近在研究Linux,想通过windows下ssh连接虚拟机中Linux系统,从而更加方便快捷的访问虚拟机中的linux系统

在网上找了一些方法,一种方法基本思路如下

大致就是去修改目录下的ip配置,然后实现windows下ping通该虚拟机,然后实现ssh连接虚拟机,实践后发现可行性较低,

下面是方法一的具体步骤:

1,确保windows能ping通虚拟机,具体也不知道怎么ping通,明显不在一个网段下嘛很奇怪。

2.关闭linux的防火墙

centos7之前就是 etc/init.d/iptables stop  这样的命令关闭

centos7之后就是用 service firewalld stop ,后来实践证实这一步并没有必要

3.查看ssh 是否被安装,一般情况下centos7都是已经安装好了ssh-server的,查看的命令如下

rpm -qa | grep ssh

一般会显示结果为

然后找到/etc/ssh目录下的sshd_config文件,修改一些参数(看起来这一步还是有必要的,但是后面使用的第二种方法并不需要这些设置也可以正常ssh登陆)

4开启sshd服务,命令为(一般都默认开启的)

service sshd start

可以用 ps -e|grep sshd 命令验证是否成功开启

然而,经过上述办法后,还是无法使用ssh连接虚拟机

然后便有了第二种办法

方法二

1,首先在virtualbox设置网络为“网络地址转换(NAT)”,如下图

然后设置端口转发如图

主机端口可以随意设置,我这里为了方便起见设置为22,因为ssh默认端口为22,后续ssh访问就不需要 加 -p 参数了。

然后在网络配置中可以设置虚拟机的外地址(ip与dns服务器设置不一致时会导致登陆非常缓慢,不知道什么原因,修改成一样的之后就恢复正常了)

然后开启虚拟机,启动linux系统,就可以通过命令

ssh [email protected]
#或者
ssh [email protected] 
#root可以是你的linux用户名

与虚拟机建立连接了
 

推荐使用第二种方法

第三种方法

简述一下就是将网络连接方式改成桥接网卡

然后把linux的ip改成与主机ip在同一网段内

例如我的ip是 192.168.1.48

我将我的linux 的ip设置新增字段如下

BOOTPROTO=static  
IPADDR=192.168.1.102
NETMASK=255.255.255.0
#已存在的字段则修改,不存在的则新增

然后使用ssh也可以愉快的玩耍了

小tips

最后介绍一种后台使用命令开启无界面的虚拟机的办法,

为了方便起见,我们先在系统环境设置里将虚拟机安装路径添加进去(这个就不赘述了,例如我的安装路径是 E:\VirtualBox)

Virtual Box的管理叫叫VBoxManage.exe,我们后面会使用它来操作虚拟机的开启与关闭

然后方便起见我们使用 ln -s 命令对VBoxManage.exe建立软链,无法使用ln命令可以安装(windows下推荐使用 git bash代替默认CMD工具)建立软链命令如下

$ ln -s  /e/VirtualBox/VBoxManage.exe /e/VirtualBox/vbm

然后启动虚拟机(Kevyn King是我的虚拟机名)

vbm startvm Kevyn\ King --type headless

然后可以用ssh 命令连接虚拟机了

最后,关闭虚拟机,使用命令

vbm controlvm  Kevyn\ King poweroff

VBoxManage命令很丰富,具体可以 -help 查看详细说明

猜你喜欢

转载自blog.csdn.net/qq_32590631/article/details/82751297