Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112306
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 287
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-01 19:56
文章分类
文章存档

2017年(6)

2016年(21)

2015年(8)

我的朋友

分类: 嵌入式

2016-02-19 01:22:44

自己电脑上往往装的都是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

但是碰到过一次情况,就是修改之后,直接用root账号无法登陆远程终端,这是还需要修改ssh配置文件:

/etc/ssh/sshd_config 修改该配置文件:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

将 PermitRootLogin without-password  修改为 PermitRootLogin yes,如下:

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

可以成功登陆了。


阅读(1336) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~