ssh-keyscan不清除localhost

时间:2014-09-03 23:11:34

标签: linux ssh ssh-keys

我正在运行ssh-keyscan来更新我的known_hosts文件:

» ssh-keyscan -p 5634 -t ecdsa,dsa,rsa localhost >> .ssh/known_hosts
# localhost SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
# localhost SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
# localhost SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2

但是:

» ssh localhost
The authenticity of host '[127.0.0.1]:5634 ([127.0.0.1]:5634)' can't be established.
ECDSA key fingerprint is 5f:60:a2:34:0a:57:57:bc:95:b2:29:89:11:3e:46:14.
Are you sure you want to continue connecting (yes/no)? 

为什么呢?我已使用ecdsa 显式更新了ssh-keyscan指纹? (它位于known_hosts文件中,并且具有正确的权限,并且没有其他条目可能导致冲突)

(这对我很重要,因为我有几个主机,我想自动化安装过程,其中包括ssh自身的能力)

1 个答案:

答案 0 :(得分:0)

没关系,已经很晚了,今天我遇到了太多问题。这是解决方案:

ssh-keyscan -p 5634 -t ecdsa,dsa,rsa localhost
ssh-keyscan -p 5634 -t ecdsa,dsa,rsa 127.0.0.1

因此,请务必同时扫描127.0.0.1

注意:ssh使用的是127.0.0.1,而不是localhost因为.ssh/config

Host localhost 127.0.0.1
     HostName       127.0.0.1
     Port           5634
     TCPKeepAlive   no

注意2:我希望你可以原谅我的邋,,但是我遇到了ssh-keyscan的几个问题(当有一长串主机要扫描时,它会随机停止,没有任何特别的警告)我认为这是另一个不幸的错误。