known_hosts.old 什么意思
时间: 2024-06-08 08:07:48 浏览: 210
known_hosts.old 是一个备份文件,通常是在更新或更改 SSH 客户端连接到远程主机时生成的。原始的 known_hosts 文件记录了已知的远程主机的公钥和 IP 地址,这样 SSH 客户端就可以验证连接是否是安全的。当客户端尝试与一个新主机建立连接时,客户端会首先检查 known_hosts 文件,如果远程主机的公钥不在文件中,客户端会提示用户是否信任该主机并将其公钥添加到 known_hosts 文件中。如果用户同意,则该主机的公钥将被添加到 known_hosts 文件中。如果客户端无法验证远程主机的公钥,则连接将被拒绝。
当你更新或更改 SSH 客户端连接到远程主机时,known_hosts 文件也会更新,而 known_hosts.old 文件是在更新之前的备份文件,以防止更新过程中出现问题。
相关问题
服务器的known_hosts known_hosts.old是如何生成的
在SSH连接时,客户端会将服务器的公钥保存在本地的known_hosts文件中,以便下次连接时进行验证。当然,如果服务器的公钥发生变化,那么客户端连接时就会提示警告,因为这可能表示服务器遭到了攻击。
known_hosts文件是由ssh-keyscan命令生成的。该命令可以扫描指定的IP地址或主机名,然后输出服务器的公钥。可以将输出结果添加到known_hosts文件中,以便下次SSH连接时进行验证。通常,known_hosts文件会存储在用户的家目录下的.ssh文件夹中。
known_hosts.old是在known_hosts文件被修改之前备份生成的,以防止修改后无法连接到服务器。如果known_hosts文件被破坏或损坏,可以使用known_hosts.old文件进行恢复。
如何在本地通过ssh 访问服务器,SSH免密登录通常使用SSH密钥对实现known_hosts known_hosts.old 如何生成的
要在本地通过ssh访问服务器,需要进行以下步骤:
1. 在服务器上安装ssh服务,确保其处于运行状态。
2. 在本地电脑上打开终端或命令行窗口,输入以下命令来连接服务器:
```
ssh username@server_address
```
其中,`username`是服务器上的用户名,`server_address`是服务器的IP地址或域名。
3. 如果是第一次连接服务器,会提示是否继续连接,输入`yes`并按下回车键。
4. 如果使用SSH免密登录,可以生成SSH密钥对。在本地电脑上打开终端或命令行窗口,输入以下命令来生成密钥对:
```
ssh-keygen -t rsa
```
然后会提示你输入保存密钥对的文件名和位置。默认情况下,它们会保存在`.ssh`文件夹中,文件名为`id_rsa`和`id_rsa.pub`。
5. 将公钥(`id_rsa.pub`)添加到服务器的`authorized_keys`文件中。可以使用以下命令将公钥添加到服务器:
```
ssh-copy-id username@server_address
```
然后输入服务器密码,就可以将公钥添加到服务器了。
6. 现在,可以使用以下命令进行SSH免密登录:
```
ssh username@server_address
```
系统会自动使用SSH密钥对进行身份验证,而不需要输入密码。
在进行SSH免密登录时,会生成两个文件`known_hosts`和`known_hosts.old`。这两个文件保存了已知主机的公钥信息,用于验证主机的身份。如果主机的公钥发生了变化,就会提示`WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!`错误。可以通过删除`known_hosts`文件来解决此问题。删除后,下一次连接服务器时,系统会重新生成一个新的`known_hosts`文件。
阅读全文