背景描述

准备进行Linux下的网络编程学习,现在准备使用VirtualBox安装Ubuntu虚拟机,并且为了后续编程调试方便,使用ssh远程连接至虚拟机进行开发。

功能期望

  1. 在VirtualBox中安装Ubuntu 18.04.5系统;
  2. 在WIN10中使用ssh对虚拟机进行通讯。

步骤执行

  1. 安装VirtualBox,并在VirtualBox中安装Ubuntu 18.04.5系统;
    使用sudo apt-get install openssh-server openssh-client命令安装openssh client;
  2. 在VirtualBox的设置界面,按照下面图片里的顺序进行操作:
    在这里插入图片描述3. 参考下面图片里的设置进行系统的端口转发设置。
    在这里插入图片描述4 . 在WIN10打开cmd面板,运行ssh -p 主机端口号 LINUX用户名@主机IP地址,比如我上面的设置就是运行>ssh -p 8022 yy@127.0.0.1;
    5 . 按照提示输入Linux系统的用户密码。

踩坑记录01:ssh_exchange_identification: read: Connection aborted

在安装&设置&打开虚拟机系统后,我尝试在WIN10的cmd面板运行ssh -p 端口号 用户名@主机IP地址进行远程ssh连接,然而非常无情地收到了如下报错:

ssh_exchange_identification: read: Connection aborted

尝试了很多方法,最后有用的是:
STEP1: 在虚拟机中运行sudo apt-get remove openssh-server openssh-client --purge && sudo apt-get autoremove && sudo apt-get autoclean && sudo apt-get update 直接卸载ssh;
STEP2: 重新执行sudo apt-get install openssh-server openssh-client安装ssh。

踩坑记录02:Permission denied, please try again

这个问题发生我遭遇踩坑01号问题之后,其实问题1我一开始采用的是参考资料[1]里面的方法,安装openssh,之后虽然能连接上了,但是一直重复出现让我输密码、输密码、输密码的问题,怎么输都不对。。。中间尝试了一些通用的解决方案,比如参考资料[2]里面提到的:配置/etc/ssh/sshd_config,但是依然没有解决我的问题,最后还是靠重装大法解决(重装的是ssh,参考上文踩坑记录01的方法)

踩坑记录03:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

当我历经千辛万苦,终于不再被困在密码输入界面的时候,结果出现了新的错误(警告),大概意思就是说远程HOST的在这里插入图片描述这时候的解决方案是:
STEP1: 去我们的电脑C盘(对,是WIN10,不是虚拟机)的用户文件夹内,找一个.ssh文件夹(比如我的地址是C:\Users\myuser\.ssh),里面会有一份known_hosts文件;
STEP2:用记事本打开这份文件,删除里面的内容。
STEP3:重新尝试ssh远程连接Ubuntu虚拟机。
成功!
在这里插入图片描述

参考资料

[1] stackoverflow-Connect to virtualbox Gnu/linux from windows 10 via ssh
[2] CSDN-Ubuntu用户无法登陆ssh出现permission denied,please try again
[3] CSDN-Linux SSH 远程登录错误解决办法 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Logo

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

更多推荐