解决错误:Failed to add the host to the list of known hosts

SSH 遇到以下错误:

The authenticity of host '[192.168.xx.xxx]:22 ([192.168.xx.xxx]:22)' can't be established.
ED25519 key fingerprint is SHA256:5UTlEnf2Cm4CV2wo7YjoG49eLusZR2kkwO1fDNM4j1U.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Failed to add the host to the list of known hosts (/xxxx/xxxxx/.ssh/known_hosts).
Already up to date.

你遇到的提示信息说明在通过 SSH 连接到 192.168.xx.xxx(端口 22)时,SSH 客户端无法验证该主机的真实性,要求你手动确认连接。但确认后,SSH 客户端无法将该主机的密钥添加到本地的 known_hosts 文件中,提示 “Failed to add the host to the list of known hosts”,表示写入失败。

问题可能的原因:

  • known_hosts 文件权限问题:
  • 当前用户可能没有对 .ssh/known_hosts 文件的写权限,导致无法将新主机的密钥写入该文件。
  • known_hosts 文件不存在或损坏:
  • 如果 .ssh/ 目录下没有 known_hosts 文件,或者文件损坏,也会导致 SSH 无法添加新主机信息。

解决方法:

1. 检查 .ssh 目录和 known_hosts 文件的权限

你可以通过以下命令检查 .ssh 目录及文件的权限:

ls -l ~/.ssh/

确保 known_hosts 文件的权限是 600.ssh 目录的权限是 700。如果权限不正确,可以通过以下命令修复:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/known_hosts

2. 手动创建或修复 known_hosts 文件

如果 known_hosts 文件不存在,可以手动创建该文件:

mkdir -p ~/.ssh
echo '' > ~/.ssh/known_hosts
chmod 600 ~/.ssh/known_hosts

3. 手动添加主机密钥

如果自动添加失败,可以手动将该主机的密钥添加到 known_hosts 文件中。使用以下命令获取主机的密钥并添加:

ssh-keyscan -p 22 192.168.xx.xxx >> ~/.ssh/known_hosts

这将直接把目标主机的公钥添加到你的 known_hosts 文件,避免再次出现提示。

4. 检查系统权限或限制

在某些情况下,系统的安全设置(如 SELinux 或 AppArmor)可能会限制对 SSH 相关文件的更改。你可以检查系统日志或设置,确保这些安全模块没有阻止 SSH 写入 known_hosts 文件。

完成这些步骤后,SSH 客户端应能正常连接并记住该主机的公钥。

"Failed to add to the list of known hosts"是一种与SSH(Secure Shell)相关的错误消息。当您尝试通过SSH连接到远程主机时,SSH客户端会尝试将目标主机的指纹添加到已知主机列表中。然而,如果此操作失败,就会显示该错误消息。 通常,这个错误消息可能有以下几个原因: 1. 主机名或IP地址错误:请确认您输入的主机名或IP地址是否正确。如果主机名或IP地址无效,SSH客户端将无法将其添加到已知主机列表中。 2. SSH服务未启动:确认您尝试连接的目标主机上已经启动了SSH服务。如果SSH服务未运行,您将无法将其添加到已知主机列表中。 3. 已知主机列表文件权限问题:SSH客户端尝试在已知主机列表文件(通常是known_hosts)中添加目标主机的指纹。然而,如果该文件的权限设置不正确,如只读或不可写,SSH客户端将无法进行添加操作。尝试更改该文件的权限为可写,并再次尝试连接。 4. 目标主机的SSH密钥发生了变化:已知主机列表中存储了远程主机的公钥指纹,用于验证主机的身份。如果远程主机的SSH密钥发生了变化,而您仍尝试将其添加到已知主机列表中,将会出现该错误消息。您可以手动编辑已知主机列表文件,将旧的指纹删除,并重新添加远程主机。 如果您遇到了"Failed to add to the list of known hosts"的错误消息,以上这些问题可能是导致问题的常见原因。通过仔细检查主机名、IP地址、SSH服务状态以及已知主机列表文件的权限,并确保目标主机的SSH密钥没有发生变化,您通常可以解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值