当前位置: 首页 > 科技观察

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

时间:2023-03-20 14:57:00 科技观察

第一次连接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文件中。[root@localhost~]#ssh-o"StrictHostKeyCheckingno"localhostWarning:Permanentlyadded'localhost'(ECDSA)tothelistofknownhosts.root@localhost'spassword:Lastlogin:MonJan2520:01:532021from192.168.43.1以上警告表示已经添加akey添加到known_host文件。2.如何使用ssk-keyscan命令自动接受SSH密钥指纹?这是另一种方式,ssh-keycan允许您将ssh指纹附加到known_hosts文件。当您想批量添加时,此工具非常有用。使用如下命令进行操作:[root@localhost~]#ssh-keyscan-H192.168.43.138>>~/.ssh/known_hosts#192.168.43.138:22SSH-2.0-OpenSSH_7.4#192.168.43.138:22SSH-2.0-OpenSSH_7.4#192.168.43.138:22SSH-2.0-OpenSSH_7.4使用以下命令将多个远程主机的ssh指纹添加到known_hosts。您必须将远程主机的IP地址添加到一个文件并使用ssh-keyscan命令调用它,如下所示,并将每个远程服务器的IP地址保存在一个文本文件中:[root@localhost~]#catremote-主机。txt192.168.43.137192.168.43.138192.168.43.166然后使用ssh-keyscan工具将他们的ssh指纹添加到known_hosts:[root@localhost~]#ssh-keyscan-f./remote-hosts.txt>>~/.ssh/已知主机#192.168.43.138:22SSH-2.0-OpenSSH_7.4#192.168.43.137:22SSH-2.0-OpenSSH_7.8#192.168.43.137:22SSH-2.0-OpenSSH_7.8#192.168.43.137:20-SSH.16#192.168.43.137:20-SSH.18.43.138:22SSH-2.0-OpenSSH_7.4#192.168.43.138:22SSH-2.0-OpenSSH_7.4#192.168.43.166:22SSH-2.0-OpenSSH_7.4#192.168.43.166:22SSH-2.0-OpenSSH_7.16#8643.16:22SSH-2.0-4#OpenSSH_192.168.43.166:22SSH-2.0-OpenSSH_7.4本文转载自微信公众号《Linux就该这么学》,可通过以下二维码关注。转载本文,请联系Linux像这样学习公众号。