喜欢Liunx,C,爱好嵌入式技术,爱好Qt 等跨平台技术
分类: LINUX
2013-10-15 10:17:16
我们做软件开发的人,自己电脑上往往装的都是windows操作系统,但是有时候常常需要操作一些linux命令。常用的办法是在电脑上面安装一个VMware虚拟机,里面再安装一个linux操作系统,我虚拟机中安装的是Ubuntu10.04。
物理机上安装一个虚拟机,就要考虑它们之间如何通信的问题。应该怎么在物理机(安装的是windows)和虚拟机(安装的是linux)之间进行通信呢(准确的说,如何在windows操作系统和linux操作系统之间进行通信呢)?一般来说,安装完成后,正常情况下Ubuntu中也能上网。我们可以通过在物理机上把一些文档软件之类的东西发送到126,163之类的邮箱里,然后在虚拟机里面上网,去邮箱中下载下来。但是这样比较麻烦。有没有简单一点的方法呢?
当然有啰。可以使用WinSCP软件,这是一个开源的软件,把它安装在物理机上,就可以实现和虚拟机进行通信了。这个软件用google很容易就能找到。我使用的是WinSCP4.2.9版本。双击WinSCP.exe,出现如下的界面:
我们只需要填写3个地方:1. host name 2.user name 3.password。hostname是虚拟机的IP地址,我的是192.168.196.130。username和password就是登陆虚拟机时的用户名和密码。最好是填写root用户时的用户名和密码。填写完成后,点击Login,我们会看到如下界面:
这说明物理机和虚拟机没有建立好通信。为什么呢?这是因为WinSCP使用了ssh协议在物理机和虚拟机之间进行通信。默认情况下ssh协议使用端口22。操作系统要想使用ssh协议进行通信,就要提供ssh客户端服务和ssh服务器端服务。默认情况下,ubuntu中只提供了ssh客户端服务,而没有提供ssh服务器端服务。所以windows和它通信就不成功。我们只需要进入到虚拟机的的linux操作系统ubuntu中安装好ssh服务器端服务就行了。
进入到ubuntu中(以root用户登录),先试一试能不能上网,一般情况下都可以的。打开一个命令行窗口,敲入以下命令:
apt-get install ssh
然后ubuntu就会安装ssh服务器端服务到虚拟机中了。安装完后,再敲入以下命令:
ps -e |grep ssh
会出现以下画面:
我们看到了sshd,这说明这就表示ssh服务器端服务安装好并启动了。如果只有ssh-agent那ssh-server还没有启动,需要输入命令
/etc/init.d/ssh start
来手动启动ssh服务器端服务。
此时再打开WinSCP.exe,填入hostname,username,password,点击Login,会出现如下界面:
点击Yes,就登录进去了。
界面中,左边属于windows操作系统的目录,右边属于ubuntu操作系统的目录。可以用鼠标直接把文件拖过来拖过去的,十分方便。
我们还可以卸载ssh客户端服务和ssh服务器端服务,卸载命令如下:
apt-get --purge remove openssh-client
和 apt-get --purge remove openssh-server。
另外,我们上面安装ssh服务器端服务的时候也可以使用命令
apt-get install openssh-server