学会远程访问Linux系统很重要,尤其是无图形界面的服务器Linux系统,这一点尤为重要,只会利用《【Linux】在Ubuntu12.04安装VMware Tools》(点击打开链接)与《【Linux】在Debian安装VMware Tools》(点击打开链接),用VMware Tools在宿主机与虚拟机中传输文件远远不够,下面以Ubuntu为例,介绍一种在Windows下用Winscp远程访问Linux系统的方法。

首先,在做这个实验之前,确定一下虚拟机的网络的网络配置上是否正确。

如下图,在属性窗口,选择网络适配器,在网络链接组框,选桥接与NAT方式,都没问题的,但是这里为了更真实地模拟,这里选择NAT,虚拟机以NAT连接主机,相当于与主机构成一个局域网,然后共同分享一个IP连接外网。


因此,由于这个虚拟机注定是一个与主机构成局域网的角色,因此,我们要对其分配一个本地的IP,一般是192.168.x.x。一般情况下,不用设置按VMWare的默认值就好。但是,我们还是如下图地检查一下。这也是为虚拟机指派IP的方法。先选择VMWare的NAT网卡,在底部设置这个网卡的具体范围,这里为192.168.230.0(子网掩码:255.255.255.0),之后我们再设置其DHCP,默认设置是192.168.230.127-192.168.230.254,这里将DHCP调大一点,将开始地址改成192.168.230.10,也就是虚拟机将会在192.168.230.10-192.168.230.254将随机得到一个IP地址。


之后,要在Ubuntu安装sshd进程,没有sshd进程,在windows下无法进行远程操作。sshd进程是在后台运行并响应来自客户端的请求。提供了对远程请求的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。简而言之就是,远程登录服务。

Ubuntu中虽然自带sshd的客户端进程,可以远程操作别的机器,然而,Ubuntu并没有sshd的服务器进程,要使本机开放远程登录服务服务就需要安装openssh-server,也就是说要在windows下远程访问Ubuntu,必须开放sshd的服务器进程。否则,直接用Winscp是无法远程访问的,会报如下的错误:


然而Ubuntu的sshd的服务器进程不是一句sudo apt-get install openssh-server说装就装,直接装的话,会与自带的openssh-clinet的版本发生冲突。


因此我们要先将自带的openssh-clinet的版本降级。输入sudo apt-get install openssh-client=1:5.9p1-5ubuntu1,确定降级。


再sudo apt-get install openssh-server安装openssh-server,sshd的服务器进程,就不会再报错。可以观察到,完成上述过程之后,在/etc/ssh/sshd_config下的文件夹多出了不少文件:


弄完之后,利用/etc/init.d/ssh start 开启SSH服务。开启之后,就终于可以利用Winscp访问这个Linux了,不过你要首先查询一下这个Linux的IP。在终端输入ifconfig,是的,你没有看错,我也没有打错,区别于Windows的ipconfig。然后找到eth0口的inet地址。


之后真的可以利用Winscp访问这个Linux了,Winscp的下载地址这里不提供了,版权问题,网上一搜大堆。在主机名,填Linux的IP,用户名与密码输入Linux的root。端口不用改,本身这个协议的端口就是22。


登录之后,就可以随意交互文件了,左边是Windows右边是Linux,随便拖就可以。

如下图,Linux中home/pc/workspace/C这个文件夹,正与Windows下的F:\新建文件夹,交互文件。



这样,再可以不用VMWare工具,来交互文件了。尤其是在那些没有图形界面的Linux,无法直接拖放文件。

这也是远程访问Linux主机的方法之一,上传什么php,jsp到Linux服务器可以这样玩哦~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐