windows下利用ssh访问virtualbox虚拟机

最近看微软的Win10相当火爆,于是在我的ubuntu上装了Win10双系统,使用了一段时间后,感觉相当不错,扁平化的界面看起来也很养眼,不过偶尔码代码时却要重启切换系统,觉得相当不便利,一狠心,删除了我的ubuntu,在virtualbox里装了一个轻量级的lubuntu,这样就方便多了。

用了一段时间,问题又来了,我的电脑本来性能就不算太高,装在virtualbox里的linux操作起来体验相当不好,界面有明显的延迟感,于是我想,既然我只是在编译linux程序时偶尔使用一下GUI,为什么不在平时改为终端模式呢,最好能直接在后台启动,这样连多余的VirtualBox界面都能省了。

要想通过ssh连接虚拟机,那么首先要在虚拟机里开机ssh服务。

1. 在虚拟机里开启ssh服务

进入虚拟机, 看看ssh服务有没有启动

ps -ef | grep "sshd"
root       586     1  0 17:27 ?        00:00:00 /usr/sbin/sshd -D
root       738   586  0 17:27 ?        00:00:00 sshd: daemonw [priv]
daemonw    862   738  0 17:27 ?        00:00:00 sshd: daemonw@pts/0

可以看到里面的sshd服务已经起来,然而实际上好多机器在安装后是没有安装开启该服务的,如果没有,我们要先安装ssh服务:

sudo apt-get install openssh-server

安装成功后,记得启用服务:

sudo /etc/init.d/ssh start

2. 配置端口转发

在虚拟机网络设置里,点击端口转发:

windows下利用ssh访问virtualbox虚拟机_第1张图片

添加端口转发规则:

windows下利用ssh访问virtualbox虚拟机_第2张图片

协议选择tcp,主机IP为空,表示localhost(127.0.0.1),子系统ip也为空,表示其默认IP10.0.2.15,主机端口可以自己设置,只要不和其他端口有冲突就行,子系统端口一般选择默认的ssh端口22,你还可以类比添加ftp等转发规则。

3. 虚拟机的启动登录

linux的终端是很强大的工具,到了windows后,感觉cmd用的相当不习惯,还好git提供了相当强大的bash工具,所以到了window后,git bash成了我的默认命令行工具。

VirtualBox的管理工具位于安装目录,名字叫VBoxManage.exe, 由于不在系统PATH环境变量下,每次都要输入一长串,相当不便,于是先把该路径添加到PATH下(该项在高级系统里,在此就不做赘述了),起个简单的名字vbm:
$ ln -s /d/Program\ Files/Oracle/VirtualBox/VBoxManage.exe /d/Program\ Files/Oracle/VirtualBox/vbm

VirtualBox的命令行管理已经很不错, 具体可help查看.

后台启动VirtualBox虚拟机:

vbm startvm lubuntu --type headless

其中vbm是管理工具的别名,已添加到%PATH%变量,lubuntu为虚拟机系统名称,type为启动类型,headless表示后台启动,如果不加type,则表示正常启动(GUI模式),此外还可设置sdl\seperate等模式。

可以看到启动相当快,3s左右.

登录虚拟机:

ssh -p 8080 username@localhost ####username为你的虚拟机的登录账户名称

关闭虚拟机:

vbm controlvm lubuntu poweroff

你可能感兴趣的:(linux)