使用 SSH 连接到我已设置的服务器(运行 Oracle Linux 7.9),我想用另一个密钥对替换我使用的原始密钥对。我能够使用新密钥对连接到服务器,没有任何明显问题;但是,每当我连接时(通过 Windows CMD 中的 OpenSSH),系统仍会提示我输入旧密钥的指纹/随机数:
Host key fingerprint is SHA256:RCVRSnN6hl97h8+UgNobAPK6WTeymGpKhYTtKYp1npU
+---[ECDSA 256]---+
| . .*++ |
|.. oo.B . |
|... .=.o... |
|.... .o ++. ....|
|..+...EoS+.o. o.o|
|oo.o o* + . o. = |
|o. o= . . o|
|. .. |
| .o. |
+----[SHA256]-----+
我已经从服务器上所有我知道存在旧密钥对的位置删除了旧密钥对,检查了主机密钥文件/etc/ssh/
(其中包含新密钥),尝试删除/刷新我的known_hosts
文件和文件中的某些设置config
,但每次连接时仍会提示输入旧密钥。我对 SSH 和 Linux 不熟悉,所以我肯定这里漏掉了一些东西。我怎样才能让它提示使用新密钥对进行连接?
答案1
您的 Windows 系统上的 %USERPROFILE%.ssh\ 文件夹“known_hosts”文件应该具有系统的已知主机密钥。 - 如果您连接到没有保存主机密钥的系统,您会收到提示。
id_rsa、id_dsa、id_ecdsa、id_ed25519 以及其他一些文件是您的密钥对的私钥文件,相应的 .pub 是该密钥对的公钥文件。- .pub 中的行需要转到目标系统中 ~/.ssh/ 文件夹中的 authorized_keys 文件。
看到您正在替换密钥对,您是否从目标系统 ~/.ssh/authorized_keys 文件中删除了旧密钥对的 pub 部分?