我正在运行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自身的能力)
答案 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
的几个问题(当有一长串主机要扫描时,它会随机停止,没有任何特别的警告)我认为这是另一个不幸的错误。