首页 > 解决方案 > SSH 发送具有相同配置的不同密钥

问题描述

由于某种原因,我无法使用 SSH 登录服务器。我写信给服务器管理员,他告诉我连接被 sshguard 阻止了。此外,他还向我发送了我的登录尝试列表(sudo grep publickey\ for\ <myusername> /var/log/auth命令输出)。它看起来像这样:

.
.
.
May 12 21:38:16 boss sshd[3003]: Failed publickey for <myusername> from
<myip> port 24057 ssh2: RSA
SHA256:hqddgd...VHhFM
May 12 21:38:16 boss sshd[3003]: Failed publickey for <myusername> from
<myip> port 24057 ssh2: RSA
SHA256:1NwYXJ66...+U5MqJ0
May 12 21:38:21 boss sshd[3003]: Accepted publickey for <myusername> from
<myip> port 24057 ssh2: RSA
SHA256:A6uQ/jb...I9UjXzc
May 12 21:39:29 boss sshd[3151]: Failed publickey for <myusername> from
<myip> port 23837 ssh2: RSA
SHA256:hqddgd...VHhFM
May 12 21:39:30 boss sshd[3151]: Failed publickey for <myusername> from
<myip> port 23837 ssh2: RSA
SHA256:1NwYXJ66...+U5MqJ0
.
.
.

每当我尝试登录时,我都会按顺序发送具有校验和的密钥:hqddgd...VHhFM、1NwYXJ66...+U5MqJ0、A6uQ/jb...I9UjXzc。第三次我的连接总是被接受。我不知道这是不是巧合,但我在 ~/.ssh/ 目录中正好有三个键。此外,~/.ssh/config 文件如下所示:

Host <server to which I want to log in>
    HostName <nice domain>
    User <myusername>
    IdentityFile ~/.ssh/<myusername>

Host <another server>
    HostName <nice domain>
    User <another username>
    IdentityFile ~/.ssh/<another username>

为什么会这样?为什么 SSH 使用相同的配置发送不同的密钥?

标签: linuxssh

解决方案


您必须将此行添加到配置文件中:

IdentitiesOnly=yes

推荐阅读