一、 问题
今天和往常一样去初始化两台机器。
但是在初始化其中一台机器的时候出现了以下问题。
[root@local-salt-11111-prd ~]#salt-ssh -i 'djx-test' state.sls salt-ssh pillar="{'hostnt': 'vpc'}"
Permission denied for host djx-test, do you want to deploy the salt-ssh key? (password required):
[Y/n] Y
Password for root@djx-test:
二、排错
查阅了网上的资料,很多是说没有在 /etc/salt/roster
里面配置 密码导致的。可以看看这篇文章 https://blog.csdn.net/weixin_33947521/article/details/93050610
, 但是我看了下我自己,我是配置了密码的。 而且我在上面上述输入密码也是不行的,但是提示了一些错误, 就是 ssh 失败的错误,没有找到那个错误的内容了。 和下面的错误基本一致, 下面是我通过 手动 SSH 登陆 报的错,这样就基本确认了问题。 是这个IP之前使用过.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:1111111111111111111111111111111111111111111111111111.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:226
ECDSA host key for 172.17.1.62 has changed and you have requested strict checking.
Host key verification failed.
而且在 salt-master 机器上保存了远程机器的公钥信息。新的机器也使用了这个IP, OpenSSH
在登陆这个机器前,发现自己有这个机器的公钥。然后进行核对,发现不一致并发出警告。
三、解决办法
找到原因了,我们就可以进入 /home/user/.ssh/known_hosts
找到之前那个的公钥配置那行, 然后进行删除。 然后重新执行下就可以了。