我有服务器的指纹和/或公钥.我想要一个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的好方法是什么所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)