xshell远程访问另一台电脑的ubuntu虚拟机,实现方式(关键在于虚拟机端口映射转发与win防火墙设置)

问题自述:
我有两台win系统的电脑,命名为访问机宿主机(用于安装ubuntu虚拟机),两台电脑都可以正常上网。目的是要使用访问机的xshell直接连接宿主机的ubuntu虚拟机。

下面是步骤

1,首先你要有两台win系统的电脑,其中一台(宿主机)上已安装了vmware,并通过vmware安装了ubuntu虚拟机(安装方法网上随便搜都有)

2.进入ubuntu虚拟机,安装ssh:引用自(如何在ubuntu上安装ssh服务

在Ubuntu上启用SSH
默认情况下,当你安装完Ubuntu系统后,系统是不允许通过SSH进行远程访问的,您需要安装OpenSSH并启用它。

安装方法很简单,你需要以root或者具备sudo权限的帐号按以下步骤安装并启用SSH。

打开终端安装openssh-server软件包:

bash sudo apt updatesudo apt install openssh-server

出现提示时,输入密码,然后按Enter继续安装。 安装完成后,SSH服务默认自动启动,你可以通过以下命令校验服务运行状态:

bash sudo systemctl status ssh

命令执行后,输出内容类似如下:

output ● ssh.service - OpenBSD Secure Shell server Loaded: loaded
(/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-09 12:34:00 CEST; 9h ago

按q退出返回命令行提示符。

Ubuntu 默认使用 ufw 防火墙配置工具,如果你启用了防火墙,请确保防火墙打开了 SSH 端口,命令如下:

bash sudo ufw allow ssh

至此,你可以通过SSH远程连接到你的Ubuntu系统了。Linux 和 macOS 系统默认安装了 SSH 客户端。
要从Windows计算机连接,请使用SSH客户端,例如PuTTY。

3.查看ubuntu的IP地址

打开ubuntu终端,输入ifconfig查看虚拟机的IP地址:
在这里插入图片描述
将这一串192.168.xxx.xxx记为虚拟机ip

4.查看宿主机的公网ip地址

打开宿主机,也就是装有ubuntu虚拟机的windows系统的浏览器,搜索“我的ip”,点击第一个链接就是。我用的是https://ip.cn/
在这里插入图片描述
将这一串地址记为宿主机ip

4.设置ubuntu虚拟机的NAT网络端口映射(端口转发)

编辑虚拟机的网络
在这里插入图片描述
选择NAT模式,点击NAT设置
在这里插入图片描述
点击添加
在这里插入图片描述
重点来了,在这里的主机端口设定一个你喜欢的端口号,记为主机端口,建议6666或其他,这个号必须是不能被宿主机占用的(不要输入22等常用端口,很有可能已被占用)。
在虚拟机ip地址一栏输入刚刚查看到的虚拟机ip
虚拟机端口一栏填写22(这个是ubuntu内部ssh的默认端口)
在这里插入图片描述

5.在宿主机的防火墙添加准入端口

打开宿主机的控制面板,搜索防火墙,点击高级设置
在这里插入图片描述
在这里插入图片描述
点击入站规则-新建规则,按下面图片提示设置新的入站规则
在这里插入图片描述
输入你刚刚设定的主机端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为该规则写一个合适的名称
在这里插入图片描述

6.使用访问机的xshell链接宿主机的虚拟机ubuntu

打开访问机的xshell,新建会话。主机那里输入宿主机ip注意不是虚拟机ip,端口号填写刚刚自己设定的主机端口
在这里插入图片描述
点击连接,输入ubuntu的账号密码,即可顺利连上
在这里插入图片描述
在这里插入图片描述

一些杂谈

在网上找了好久都没找到合适的方法,弄了好几天总算有了眉目,最后成功连上。关键步骤还是在设置虚拟机的端口转发和宿主机的防火墙准入。感谢这篇文章提供的方法:VMware虚拟机配置端口转发(端口映射),实现远程访问

还有,本方法的奇怪之处在于,两台电脑不能ping通(访问机ping宿主机ip失败),但能建立ssh连接。我的两台电脑是都是连的校园网拨号上网。但是如果一台连的校园网,一台连的手机热点,就不能建立ssh连接(感觉还是得在同一局域网下才可以)。如果想要通过公网访问内网的服务器,可能需要再设置一个内网穿透,详见知乎:如何从外网SSH连接内网服务器? 这个我还没实践过

最后,如果帮到了你,记得点个赞

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值