如何在Linux上禁用SSH主机密钥检查– Ubuntu / Debian / CentOS / Fedora

在本文中,您将学习如何在Linux机器(Ubuntu / Debian / CentOS / Fedora / Arch和其他运行Linux的系统)上禁用SSH主机密钥检查。在SSH主机密钥检查中,ssh检查包含所有已访问主机ID的数据库。管理主机密钥 ~/.ssh/known_hosts 用户主目录中的文件。

$ ls -1 ~/.ssh/
authorized_keys
config
id_rsa
id_rsa.pub
known_hosts

当主机的身份更改时,ssh客户端会对其发出警告并禁用密码身份验证,以防止中间人攻击和服务器欺骗。

用于控制此设置的参数是 StrictHostKeyChecking。有三个值:

  • 是的: 如果设置为“是”,ssh将不会自动添加主机密钥。 ~/.ssh/known_hosts 拒绝连接到主机密钥已更改的主机。
  • 号码: 如果设置为“ no”,则ssh会自动将新的主机密钥添加到用户的已知主机文件中。
  • 问: 设置为“询问”(默认)时,只有在用户确认操作并且ssh拒绝连接主机密钥已更改的主机之后,新的主机密钥才会添加到用户的已知主机文件中。

要在Linux上禁用SSH主机密钥检查,请设置该值 编号UserKnownHostsFile 设置为重定向到/ dev / null。

如果还没有SSH密钥,请生成一个。设置密码是可选的。

$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/debian/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/debian/.ssh/id_rsa.
Your public key has been saved in /home/debian/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/2A71cIaTTuuDJ6C2gatFk5/6WAq3JyLCfppkAfdQzM [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|    E            |
| . o o           |
|. . o       .    |
| o . .  S  + o   |
|o = .    .. B .  |
|o=o=+. .. += o   |
|+.BO+.+. =o+.    |
|.B=+oo..o +o.    |
+----[SHA256]-----+

本地用户的ssh目录为 〜/ .ssh

$ ls -1  ~/.ssh
authorized_keys
id_rsa
id_rsa.pub

检查文件是否具有正确的权限。

for file in authorized_keys id_rsa; do
 chmod 0400 ~/.ssh/${file}
done

创建本地ssh配置文件。

touch ~/.ssh/config

将以下设置添加到创建的配置文件中。

cat << EOF > ~/.ssh/config
Host *
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
EOF

设置文件的正确所有权。

chmod 0400 ~/.ssh/config

您应该能够登录而无需检查SSH主机密钥。

$ ssh [email protected]
Warning: Permanently added '10.1.1.11' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/centos/.ssh/id_rsa': 
Linux deb10 4.19.0-5-cloud-amd64 #1 SMP Debian 4.19.37-5+deb10u2 (2019-08-08) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Sep 17 17:35:34 2019 from 10.1.1.10
[email protected]:~$ 

ssh详细信息。

如何使用SELinux在CentOS / RHEL 7/8和Fedora上更改SSH端口

如何在Linux / Unix系统上禁用SSH反向DNS查找

如何在CentOS / RHEL上为SSH设置两因素(2FA)身份验证

使用Linux CLI创建SSH隧道的简单方法

如何在Linux / Unix上更改或更新SSH密钥密码

Sidebar