Dailybuild服务器buildserver_01崩溃后,试图恢复完后,备份好资料。在服务器上安装完 openssh-server后在本地远程访问操作。结果发现怎么都连接不上。

错误如下
1. 通过SSH方式 connect server...连接
结果提示:

Connection to host 192.168.0.11 was closed


2. Remote Desktop View SSH连接服务器

Error: Host key verification failed Please select another viewer and try again



这两个方式是平常我连接服务器操作的两种主要方式,Remote Desktop View用来通过类似字符界面来操作。SSH方式来connect server用来查看文件目录可是突然都不行了。

疑点1 难道是我网络没有配置好?难道是重装的ubuntu网络配置有问题?

用ping命令互ping都是ping得通,用smb访问也可以访问。那就奇怪了,在什么地方出问题呢。自己本地访问其他服务器都正常,基本可以排除网络问题。

疑点2 难道是SSH安装有问题?于是卸载服务器上ssh openssh-server.再安装。不行再卸载一次重启服务器在安装,还是无效。以前SSH也是这样安装。应该安装没问题。


重新看两个连接失败的提示


两种连接方式多事SSH连接方式不行,Error: Host key verification failed Please select another viewer and try again也提示了。无意中在另外一台Windows环境连接ubuntu,结果竟然可以,windows下用SSHSecureShellClient访问。难道是我自己用的ubuntu访问,有记住以前服务器旧系统的SSH密钥?,那就从这边入手。
那就删除我本地 /root/.ssh/known_hosts

再次连接,熟悉的界面出现了

ssh无法连接远程docker ssh远程连接不上服务器_重启


好吧连接上了,确实是我本地保存了公钥的原因。


总结一下:

SSH访问不了原因:一台服务器上重装过ubuntu,系统使用同一ip,mac,登录过一次后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。

有以下两个解决方案:
1. 手动删除修改known_hsots里面的内容;
2. 修改配置文件"/root/.ssh/config",加上这两行,重启服务器。

StrictHostKeyChecking no
   UserKnownHostsFile /dev/null



优缺点:


1. 需要每次手动删除文件内容,一些自动化脚本的无法运行(在SSH登陆时失败),但是安全性高;


2. SSH登陆时会忽略known_hsots的访问,但是安全性低;