站长

如何自动接受 SSH密钥指纹?

作者:admin 2021-05-03 我要评论

首次连接到Linux系统时,SSH会提示你接受计算机的指纹以成功建立连接,因为 known_hosts文件中没有指纹。 指纹是系统公钥的缩写版本,为了保护自己免受中间人攻...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

 

首次连接到Linux系统时,SSH会提示你接受计算机的指纹以成功建立连接,因为“ known_hosts”文件中没有指纹。

指纹是系统公钥的缩写版本,为了保护自己免受中间人攻击(MITM),ssh程序使用自上次连接以来存储的指纹验证远程系统ssh的指纹。如果指纹已更改,系统将提醒你并询问是否要继续。

有时你可能需要自动接受SSH指纹。例如,如果创建了一个shell脚本用来远程管理多台linux服务器。

可以使用以下两种方法来完成此操作。

使用StrictHostKeyChecking=no选项自动接受ssh指纹。

使用ssk-keyscan命令接受ssh指纹。

首次连接到远程计算机时,将警告你无法建立主机的真实性,并提供密钥指纹以进行验证。

接受指纹后,它将被保存在“known_hosts”文件中,当重新连接到同一个远程主机时,SSH根据known_hosts文件检查指纹,以验证其身份。

1、如何使用SSH选项自动接受SSH密钥指纹?

此方法简单明了,只需使用SSH命令添加选项即可实现。使用此选项时,ssh会自动将新的主机密钥添加到用户known_hosts文件中。

  1. [root@localhost ~]# ssh -o "StrictHostKeyChecking no" localhost 
  2. Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. 
  3. root@localhost's password:  
  4. Last login: Mon Jan 25 20:01:53 2021 from 192.168.43.1 

以上警告表明它已将一个密钥添加到known_host文件。

2、如何使用ssk-keyscan命令自动接受SSH密钥指纹?

这是另一种方法,ssh-keycan允许你将ssh指纹附加到known_hosts文件中。当你想要批量添加时,此工具非常有用。使用下面命令操作:

  1. [root@localhost ~]# ssh-keyscan -H 192.168.43.138 >> ~/.ssh/known_hosts 
  2. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 
  3. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 
  4. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 

使用以下命令将多台远程主机的ssh指纹添加到known_hosts。必须将远程主机的IP地址添加到一个文件中,并使用ssh-keyscan命令调用它,如下所示,将各个远程服务器的ip地址保存在文本文件里面:

  1. [root@localhost ~]# cat remote-hosts.txt  
  2. 192.168.43.137 
  3. 192.168.43.138 
  4. 192.168.43.166 

然后使用ssh-keyscan工具将它们的ssh指纹添加到known_hosts:

  1. [root@localhost ~]# ssh-keyscan -f ./remote-hosts.txt >> ~/.ssh/known_hosts  
  2. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 
  3. # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8 
  4. # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8 
  5. # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8 
  6. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 
  7. # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4 
  8. # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4 
  9. # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4 
  10. # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4 

本文转载自微信公众号「Linux就该这么学」,可以通过以下二维码关注。转载本文请联系Linux就该这么学公众号。


本文转载自网络,原文链接:https://mp.weixin.qq.com/s/yd2CESIBkotKx0oHKrkcZg

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 网络安全编程:注册表下启动项的管理

    网络安全编程:注册表下启动项的管理

  • iOS 14.5将引入隐私浏览新功能

    iOS 14.5将引入隐私浏览新功能

  • Asp.net core中使用cookie身份验证

    Asp.net core中使用cookie身份验证

  • 一文了解“中间人攻击(MITM)”(附防

    一文了解“中间人攻击(MITM)”(附防

腾讯云代理商
海外云服务器