最初にサーバーにローカルログインしないと、リモートサーバーに ssh できません

最初にサーバーにローカルログインしないと、リモートサーバーに ssh できません

古いデスクトップに Ubuntu サーバーをセットアップし、パスワードで問題なくログインできました。その後、SSH キーをセットアップし、パスワードでのログインを禁止しました。すると、古いデスクトップにモニターを接続してサーバーにローカルでログインし、キーを使用してリモートでサーバーにログインしない限り、リモートで SSH しようとすると公開キーが拒否されるという奇妙な問題が発生します。これは機能します。

両方のマシン上の .ssh ファイル/フォルダーの権限を確認しましたが、問題ありませんでした。ホーム ディレクトリの場合は 755、.ssh の場合は 700、id_rsa.pub の場合は 644、id_rsa と authorized_keys の場合は 600 でした。

ここで何が起こっているのか分かりますか?

答え1

答えは、Michal Politowski がコメントで述べたとおりです。暗号化されたホーム ディレクトリには .ssh フォルダーが含まれていたため、ローカルにログオンしてフォルダーを復号化するまで、ssh コマンドでアクセスできませんでした。解決策は、/home/ssh/%user%/ を作成し、authorized_keys ファイルをそこに配置してから、sshd_config を介して ssh にそこを参照するように指示することでした。役立つ Web ページへのリンクについては、コメントを参照してください。

答え2

これはネットワーク アダプタです。自分のユーザーのみが利用できるように構成されています。

ネットワーク アダプタを他のユーザー/すべてのユーザーが利用できるように設定する必要があります。GNOME では、ネットワーク アダプタ設定の [他のユーザーが利用できるようにする] チェックボックスでこれを行います。

これがないと、ネットワーク アダプターが SSH などの標準サービスのリッスンを開始する前に、ユーザーはまずローカルでログインする必要があります。

関連情報