在配置本机与docker容器实现ssh无密码访问时出现以下报错

# federico @ linux in ~ [18:35:52] C:127
$ sudo ssh-copy-id -i .ssh/id_rsa.pub 'root@172.18.0.2'
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)!
ERROR: It is also possible that a host key has just been changed.
ERROR: The fingerprint for the ECDSA key sent by the remote host is
ERROR: SHA256:w5oT7ToJ13bcE9Aw4vvTk+8luy0xwjKJSaWhxSoHpdg.
ERROR: Please contact your system administrator.
ERROR: Add correct host key in /root/.ssh/known_hosts to get rid of this message.
ERROR: Offending ECDSA key in /root/.ssh/known_hosts:26
ERROR: remove with:
ERROR: ssh-keygen -f "/root/.ssh/known_hosts" -R 172.18.0.2
ERROR: ECDSA host key for 172.18.0.2 has changed and you have requested strict checking.
ERROR: Host key verification failed.

出现此报错后,我直接进入到docker容器中的用户家目录下的.ssh/目录下新建了authorized_keys文件并将我的宿主机公钥添加至此文件,但是连接过程中出现了以下的报错

$ ssh root@172.18.0.2
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:w5oT7ToJ13bcE9Aw4vvTk+8luy0xwjKJSaWhxSoHpdg.
Please contact your system administrator.
Add correct host key in /home/federico/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/federico/.ssh/known_hosts:26
remove with:
ssh-keygen -f "/home/federico/.ssh/known_hosts" -R 172.18.0.2
ECDSA host key for 172.18.0.2 has changed and you have requested strict checking.
Host key verification failed.

出现此问题的原因及解决措施:

原因:

ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击,我这次操作之所以会出现以上的报警就是因为我的以前的docker容器使用过这个ip并且设置过ssh通过秘钥登录,在实际工作中如果频繁的下线上线机器,而我们使用的私有ip一致很有可能出现同样的情况。

解决措施:

1. 手动删除修改known_hsots里面的内容;
2. 修改配置文件“~/.ssh/config”,加上这两行,重启服务器。
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null

# federico @ linux in ~/.ssh [18:43:17]
$ > known_hosts

# federico @ linux in ~/.ssh [18:45:09] C:130
$ cat known_hosts

清空认证列表即可

# federico @ linux in ~ [18:55:00] C:1
$ ssh root@172.18.0.2
The authenticity of host '172.18.0.2 (172.18.0.2)' can't be established.
ECDSA key fingerprint is SHA256:w5oT7ToJ13bcE9Aw4vvTk+8luy0xwjKJSaWhxSoHpdg.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.18.0.2' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-77-generic x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@abd203cd27ba:~#

问题解决,现在我们可以成功连接

注释:背景为红色的字体为输入的命令,背景为蓝色的字体为输出信息。

本人新手,对技术时刻保持着敬畏之心,如有错误望有志之士告知,不胜感激!!!

SSH登录警告(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)的更多相关文章

  1. SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    今天遇到问题,删除文件即搞定!! ~~~~~~~~~~~~~~ SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!   Connectio ...

  2. ssh报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    今天登陆远程主机的时候,出现如下的报错信息 ssh 10.0.0.1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WAR ...

  3. ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    ssh远程连接的时候出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!连接失败 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  4. 关于ssh登录出现异常警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    提示警告信息如下: arnold@WSN:~$ ssh 10.18.46.111 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  5. SSH 登录警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    1.使用Linux SSH登录其他Linux或者cisco交换机时有如下报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (远程主机标识已更改) ...

  6. ssh WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED(警告:远程主机标识已更改)

    ssh 192.168.1.88 出现以下警告: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOT ...

  7. Linux:SSH错误"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "

    hadoop@master:~$ scp /home/hadoop/.ssh/authorized_keys node3:/home/hadoop/.ssh/ @@@@@@@@@@@@@@@@@@@@ ...

  8. ssh远程登录报错REMOTE HOST IDENTIFICATION HAS CHANGED!解决方式及原因

    注意,文档中的ip和指纹已经替换为了ip.ip.ip.ip 和aa:... ,以免引起不必要的误会. icode@test:~/lab/dir/sadf$ ssh remote_name@ip.ip. ...

  9. linux之 ssh连接服务器,WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    [root@zk01 ~]# ssh localhost@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: RE ...

随机推荐

  1. 大型运输行业实战_day02_2_数据模型建立

    1.模型分析 1.基本必备字段 id   state  type   createTime   updateTime 2.车票  :   车次   开始车站   到达车站   出发时间    票价   ...

  2. ReactNative手势解锁(react-native-ok-gesture-password)

    在大前端的趋势之下,我也慢慢开始从事React Native相关的开发.但是奈何React Native生态相对于Android来说还是太小了.许多开源的库早早就已经不再维护.之前项目中需要用到手势解 ...

  3. 对于局部变量,text、ntext 和 image 数据类型无效

    开发存储过程时报如上错误.大多数人说用varchar(8000)代替text,但值我这里超过8000,不可取 解决: sql2005或以上版本支持新数据类型:varchar(max)nvarchar( ...

  4. 找不到reportviewer控件在哪儿

    請自行加入ReportViewer(9.0)到工具箱之中. 如下圖,

  5. 6-Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法

    Qt给父widget加上styleSheet(添加背景图)而不改变子widget的styleSheet的方法 比如用stylesheet给widget加背景图,可以用qt designer修改ui文件 ...

  6. php iframe 上传文件

    我们通过动态的创建iframe,修改form的target,来实现无跳转的文件上传.   具体的实现步骤 1.捕捉表单提交事件 2.创建一个iframe 3.修改表单的target,指向iframe ...

  7. Alluxio/Tachyon如何发挥lineage的作用?

    在Spark的RDD中引入过lineage这一概念.指的是RDD之间的依赖.而Alluxio则使用lineage来表示文件之间的依赖.在代码层面,指的是fileID之间的依赖. 代码中的注释指出: * ...

  8. 2018年上半年UI领域主要的13个设计趋势

    2018年时间过半,通过过去的6个月的观察,其实我们已经可以对于2018年的整个UI领域的设计趋势有了一个更为清晰的判断. 也是推出这篇文章比较合理的时机.下面我们就一起来回顾一下,过去的半年当中,U ...

  9. Mina 系列(二)之基础

    Mina 系列(二)之基础 Mina 使用起来多么简洁方便呀,就是不具备 Java NIO 的基础,只要了解 Mina 常用的 API,就可以灵活使用并完成应用开发. 1. Mina 概述 首先,看 ...

  10. wcf服务契约代理链

    意图:为了是客户端代理呈现出面向对象的多态的特征 a. 服务端 .契约 实现了契约的继承这个在服务端是一点问题没有,因为oprationcontract可以继承,虽然DataContract不能实现继 ...