SSH는 동일한 구성을 사용하여 다른 키를 보냅니다.

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/ 디렉토리에 정확히 3개의 키가 있습니다. 또한 ~/.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>

왜 이런 일이 발생합니까?

답변1

man ssh_config에서:
IdentitiesOnly
는 ssh-agent(1) 또는 PKCS11Provider가 더 많은 ID를 제공하는 경우에도 ssh(1)가 ssh_config 파일에 명시적으로 구성되거나 ssh(1) 명령줄에 전달된 인증 ID 및 인증서 파일만 사용해야 함을 지정합니다. . 이 키워드에 대한 인수는 yes 또는 no(기본값)여야 합니다. 이 옵션은 ssh-agent가 다양한 ID를 제공할 때 유용합니다.

~/.ssh/config에 이것을 추가해보세요:

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

관련 정보