Debianでopen-sshを正しく設定するにはどうすればいいですか。認証キー(PasswordAuthenticationをnoに設定)を使用してログインするなど、すべて機能していましたが、突然権限が拒否されました (公開鍵)そこで、サーバーとリモート クライアントから ssh をアンインストールしました。すると、再インストールでルートまたはユーザー レベルの .ssh ディレクトリの設定に失敗し、問題が起こりました。
歴史:
私は自分のサーバーにopen-sshをインストールしました - rootとして 私は自分のリモートクライアントPCにopen-sshをインストールしました - rootとして
私は自分のサーバー上でルートとして公開鍵と秘密鍵を生成しました。
私は自分のリモートPC上でルートとして公開鍵と秘密鍵を生成しました。
私はユーザーとしてサーバーの.sshディレクトリに認証キーファイルを作成し、リモートPCの公開キーをコピーしました。
パスワードログインを許可しないようにSSH設定ファイルを変更しました
私の質問:
open-ssh は常に root としてインストールする必要がありますか?
もしそうなら、これはすべてのユーザーに伝播され、SSH 接続を受け入れるための権限が与えられますか?
承認されたキー ファイルは、ルートとして作成しますか、それともユーザー レベルで作成しますか?
すべてをアンインストールしましたapt-get purge openssh-client
が、.ssh ディレクトリがあちこちに残ってしまいました。これは Linux では一般的なやり方ですか? また、残ったディレクトリを手動で削除しても大丈夫ですか?
乾杯
答え1
あなたの理解にはいくつかの要素が欠けているようです -
実際には、Open SSH を root としてインストールする必要があります。デフォルトでは、root に制限されているポート 22 で通信します。おそらく、1024 を超える非標準ポート (通常は 2222) で応答するように設定できるでしょう。
ssh は「下位に伝播」しません。デーモンとして実行されます。ただし、通常はユーザーのホームディレクトリで ~user/.ssh/authorised_keys を検索します。
通常、システム上の各ユーザーに対してauthorised_keysファイルを作成します。SSHサーバーにも独自のキーがあり、通常は/etc/sshdにあります。
SSH 関連のもの以外に必要のないものがない場合、ホーム ディレクトリの .ssh キーを手動で削除しても安全です。クライアントとサーバーは 2 つの異なるものですが、場合によっては両方が同じディレクトリを使用するため、キーを残しておいても問題ありません。
キーの取り扱い -
通常は、クライアントで秘密鍵と公開鍵を作成し、公開鍵をサーバーの ~user/.ssh/authorized_keys に追加します。ユーザーがサーバーを ssh クライアントとして使用できるようにしない限り、サーバー上でユーザーの秘密鍵または公開鍵を生成する必要はありません。
通常、キーはそれが属するユーザーによって所有され、秘密キーの権限は 600 になります。キーを root が所有することもできますが、その場合、ユーザーはキーを変更できなくなります。