SSH 接続エラー「権限が拒否されました (公開鍵)」

SSH 接続エラー「権限が拒否されました (公開鍵)」

そこで、マスター ノード 1 つとワーカー ノード 2 つを含む Google クラスタ コンテナ間で SSH 接続を構築しようとしました。 ssh-keygen を使用して 3 つのノードすべてにキー ペアを生成し、2 つのワーカーの 2 つの秘密キーをマスター ノードに送信して、.ssh/autherized_keys ファイルに格納しました。 次に、このファイルを 2 つのワーカー ノードとも共有しました。

このアプローチにより、すぐに SSH 接続が成功します。SSH 接続は正常で、scp を使用してファイルを送信することもできます。しかし、後の段階で VM からログアウトして再度ログインすると、SSH 接続が非常に不安定になり、接続失敗エラー「アクセス許可が拒否されました (公開キー)」が返されることもあれば、接続が再度トリガーされることもあります。

何が問題なのか知っている人はいますか? よろしくお願いします!

答え1

ある時点では動作していたのに、現在は動作していない場合は、次の操作を実行します。

# Adjust paths as necessary. May need to add sudo if you're not running it as root.
chmod 700 ~/.ssh && chmod 600 ~/.ssh/* && chmod 644 ~/.ssh/authorized_keys

それでも問題が解決しない場合は、authorized_keys の内容を確認し、/etc/ssh/sshd_config (または sshd 構成ファイル) で次の値を確認します。これにより、パスワード認証が無効になり、システムに対して ssh のみの認証が有効になります。

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM no # Just my choice.

セキュリティに関する注意: クラウド環境にアクセスするときは、パスワードで保護された秘密キーを使用し、これを単一のシステム (ジャンプ サーバー) に対してのみ設定することをお勧めします。そこから、環境の残りの部分に対して、パスワードなしの SSH 認証をより自信を持って利用できるようになります。

関連情報