linux – 将已知密钥指纹添加到known_hosts的好方法是什么

linux – 将已知密钥指纹添加到known_hosts的好方法是什么,第1张

概述有很多类似于这个问题的答案,但我似乎找不到一个有明确答案的问题.它们都至少抓取一次公钥,完全忽略密钥,或直接写入known_hosts文件(暗示没有哈希) 我有服务器的指纹和/或公钥.我想要一个shell命令将它添加到客户端的known_hosts文件中.这必须使用任何配置(散列/无哈希) 此外,该脚本将从此服务器执行git pull,因此我不知道此时提供端口信息是否相关.请告诉我它是不是. 谢谢 有很多类似于这个问题的答案,但我似乎找不到一个有明确答案的问题.它们都至少抓取一次公钥,完全忽略密钥,或直接写入kNown_hosts文件(暗示没有哈希)

我有服务器的指纹和/或公钥.我想要一个shell命令将它添加到客户端的kNown_hosts文件中.这必须使用任何配置(散列/无哈希)

此外,该脚本将从此服务器执行git pull,因此我不知道此时提供端口信息是否相关.请告诉我它是不是.

谢谢.如果已经回答了这个问题并且我以某种方式错过了它,请随时指出我正确的方向.

PS – 额外信息:我询问端口的原因之一是因为我做了以下事情没有成功(我知道这是从主机获取密钥,我宁愿不这样做):

ssh-keygen -R my.awesome.host # hostnamessh-keygen -R 1.2.3.4         # IPssh-keygen -R my.awesome.host,1.2.3.4ssh-keyscan -H my.awesome.host,1.2.3.4 >> ~/.ssh/kNown_hostsssh-keyscan -H 1.2.3.4 >> ~/.ssh/kNown_hostsssh-keyscan -H my.awesome.host >> ~/.ssh/kNown_hosts

但是当我git clone(通过ssh)时,我遇到了一个响亮的声音:

The authenticity of host '[my.awesome.host]:7999 ([1.2.3.4]:7999)' can't be established.RSA key fingerprint is fi:ger:pr:in:ti:nf:or:ma:ti:onAre you sure you want to continue connecting (yes/no)?

然而,ssh [email protected]没有提示我指纹.

解决方法 拥有公钥,您只需将密钥写入kNown_hosts文件并可能重新哈希,如果您需要:
HOSTname=my.awesome.hostPORT=7999PUBKEY="ssh-rsa AAAAB3NzaC1yc2EAAAAD...E"KNowN_HOSTS="~/.ssh/kNown_hosts"echo "[$HOSTname]:$PORT $PUBKEY" >> $KNowN_HOSTS# re-hash,if needed:ssh -G -p $PORT $HOSTname | grep "hashkNownhosts yes" && \  ssh-keygen -H -f $KNowN_HOSTS

ssh的-G开关相当新.如果它不起作用,则必须确定是否以不同方式散列已知主机(或者无论条件如何都这样做).

使用已散列的主机散列文件不会触及这些行.

我没有尝试上面的脚本,但你应该能够从中得到重点(并修复拼写错误,如果有的话).

总结

以上是内存溢出为你收集整理的linux – 将已知密钥/指纹添加到known_hosts的好方法是什么全部内容,希望文章能够帮你解决linux – 将已知密钥/指纹添加到known_hosts的好方法是什么所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存