SSH - 권한 거부됨(공개 키) - 노드가 하나인 경우 작동하지 않습니다.

SSH - 권한 거부됨(공개 키) - 노드가 하나인 경우 작동하지 않습니다.

노드 A, B, C의 3개 노드가 있습니다. A는 SSH를 통해 B와 C에 연결하려고 합니다. B와 C는 동일한 서버입니다. A는 B에 연결할 수 있지만 C에는 연결할 수 없습니다.

ssh user@node

내가 본 오류는 다음과 같습니다.

Permission denied (publickey).

나는 시도했다:

  • 소유권은 ida_rsa 및authorized_keys 파일에 올바르게 설정되어 있으며 서버 B와 C에서 동일합니다.
  • 두 노드의 /etc/ssh/sshd_config 파일도 동일합니다.
  • 포트 22를 통해 노드 B와 C에 연결할 수 있으므로 telnet방화벽 문제도 아닙니다.

내가 놓친 게 무엇입니까? 또 무엇을 확인해야 합니까?

지금까지는 노드 C에 연결하는 것을 금지하는 것이 무엇인지 알 수 없습니다.

답변1

이 주제를 우연히 발견한 사람을 위해 문제의 원인을 찾았습니다. 이 솔루션을 제안하는 토론을 찾지 못했기 때문에 이 글을 씁니다.

  • sshd_config 파일에서는 사용자에게 비밀번호를 묻는 메시지가 표시되지 않습니다.PasswordAuthentication no
  • 그러나 사용자는 일반적으로 노드 C에서는 비밀번호로 보호되지만 노드 B에서는 그렇지 않습니다.

노드 B:

# passwd --status user
user LK 2017-09-27 0 99999 7 -1 (Empty password.)

C 노드:

# passwd --status user
user LK 2019-04-03 0 99999 7 -1 (Password locked.)

해결책:

# passwd -d user
Removing password for user user.
passwd: Success

지금은 잘 작동합니다 ssh.

파일을 확인하고 문제를 발견했습니다 /var/log/messages.

Connection from X.X.X.X port 60408 on Y.Y.Y.Y port 22
User user not allowed because account is locked
input_userauth_request: invalid user user [preauth]
Connection closed by X.X.X.X port 60408 [preauth]

답변2

알겠습니다. 해결했습니다. 사용할 이름은 호스트 이름이 아니라 데스크톱에 액세스하는 데 사용하는 사용자 이름입니다. 또는 루트를 사용할 수 있지만 이 경우 sshd_config에서 활성화해야 합니다. 예 john@ip 주소

관련 정보