SSH - 許可拒否(公開鍵) - ノードが1つの場合は機能しません。

SSH - 許可拒否(公開鍵) - ノードが1つの場合は機能しません。

ノード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

わかりました。解決しました。使用する名前はホスト名ではなく、デスクトップへのアクセスに使用するユーザー名です。またはrootを使用できますが、この場合はsshd_configで有効にする必要があります。はい john@ip アドレス

関連情報