先日、Slackware ボックスに公開鍵/秘密鍵を使用して SSH をセットアップする方法を見つけようとしていました。
何かがまだ私を混乱させています:
sshd_config ファイルでは、AuthorizedKeysFile ディレクティブのパスを設定するときに、相対参照または絶対参照を使用する必要がありますか? またはのいずれかになる可能性があることを読みました。
現在、AuthorizedKeysFile /root/.ssh/authorized_keys に設定されています
ssh-keygen を使用してキーを生成する場合、クライアント マシンでキーを生成し、公開キーをサーバーにコピーして、authorized_keys ファイルに追加する必要があると確信しています。これは正しいです?
.ssh ディレクトリと authorized_keys ファイルへのアクセス許可が正しいことは確かです。
drw------ .ssh
drwx--x--- 承認済みのキー
-rw----r--既知のホストps -e aux | を実行しました。grep sshd を実行して、sshd プロセスを実行していたユーザーを確認します。結果は次のとおりです。moros は、ボックスにログインするために使用している標準ユーザー アカウントです。
ルート 5449 0.0 0.0 4112 0980 ? Ss 01:06 0:00 /usr/sbin/sshd
ルート 5574 0.0 0.1 6700 2020 ? Ss 15:22 0:00 sshd: moros [priv]
root 5576 0.0 0.0 6700 1272 ? S 15:22 0:00 sshd: moros@pts/0
root 5609 0.0 0.0 2204 0628 pts/0 S+ 15:42 0:00 grep sshd私のsshd_configの一部は次のようになります
ポート 22
プロトコル 2SyslogFacility AUTHログレベル
VERBOSEPermitRootLogin はい
RSAAuthentication はい
PubkeyAuthentication はい
AuthorizedKeysFile /root/.ssh/authorized_keysPasswordAuthentication はい
PermitEmptyPasswords いいえ残りは標準のデフォルト値です。
とにかく、これまでに特定できたことがいくつかあります。Slackware マシンの有効なユーザーのパスワードを使用してクライアント マシンからログインできるため、ssh が機能していることはわかっています。ssh-keygen rsa スタイルを生成し、scp を使用して公開鍵をサーバーにコピーしました。現時点では、authorized_keys が正しく設定されていると確信しています。cat file >>authroized_keys を実行し、サーバーにコピーした公開鍵を追加しました。このファイルは、各行が ssh-rsa AAAAB3Nza..... の形式になっています。可能な限り多くの情報を取得するために、VERBOSE ロギングをオンにしました。昨夜、ログに「'ip' ポート 'num' ssh2 からの moros の公開鍵に失敗しました。
このログ メッセージから、問題の原因を 2 つのうちの 1 つに絞り込むことができます。sshd が自分の authorized_keys ファイルを見つけられないため、キーが失敗した理由、または .ssh フォルダーまたは認証されたキー ファイルへのアクセス許可が正しくないことが原因です。
過去に ssh キーと slackware で同様の問題に遭遇した人はいますか?
アップデート
結局のところ、AuthorizedKeysFile ディレクティブには .ssh/authorized_keys と記載する必要があります。
これは、ルート以外でログインしたときに機能するようになりました。