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

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

 [[382331]]

首次连接到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就该这么学公众号。

 

责任编辑:武晓燕 来源: Linux就该这么学
相关推荐

2011-06-02 11:13:07

2012-10-23 09:54:17

2018-02-09 09:00:00

2018-03-16 10:57:06

Linux安全密钥

2023-09-13 22:54:06

2018-10-08 09:35:59

2015-06-30 11:25:40

2020-03-03 13:37:23

SSH密钥管理工具开源工具

2010-04-27 15:19:11

Unix密钥

2009-07-06 18:18:28

远程攻略SecureCRTSSH 

2021-08-20 09:50:41

Web指纹前端

2011-08-22 14:50:39

ssh

2013-05-29 14:27:40

2020-10-13 06:59:12

CA签名密钥SSH

2021-04-27 07:00:08

UbuntuLinux指纹登录

2014-09-10 11:44:43

2011-05-19 09:58:26

2023-05-05 14:45:05

2018-12-25 23:01:14

2014-12-22 10:28:47

点赞
收藏

51CTO技术栈公众号