Asus Merlin ファームウェアを搭載したルーターでパスワード不要の公開鍵ベースの SSH ログイン

Asus Merlin ファームウェアを搭載したルーターでパスワード不要の公開鍵ベースの SSH ログイン

私は、バージョン384.4_2を実行しているASUS RT-AC68UホームルーターでパスワードなしのSSHログインを有効にしようとしています。Asuswrt-Merlin ファームウェア(この記事を投稿した時点で最新のもの)。多くの投稿やハウツー(これです)、まだ動作しません。

私は PUTTYGEN を使用して RSA-2048 キーのペアを生成し、公開キーを~/.ssh/authorized_keysルーターに保存してから、RSA のみに制限した PUTTY で接続しようとします。PUTTY はセッションの暗号化をネゴシエートするため、サーバーから提供された公開キーを受け入れるように求められます。私はそれが からの私のキーであることを期待しています~/.ssh/authorized_keysが、代わりに常にドロップベア自身の公開キー ( から/etc/dropbear/dropbear_rsa_host_key) が表示されます。実行することでそれがそれだとわかりますdropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key

フォルダの権限は、からに対して~/.sshに設定されています。キーは、ルーターの Web UI を介して正しい形式 (つまり、、改行なし) で保存されます。SSHユーザーとしてと の両方を試しました。ルーターを工場出荷時の設定にリセットした後、最初からすべて試してみましたが、結果は同じでした。700~/.ssh/authorized_keys600ssh-rsa AAAA...5iYw== rsa-key-20180401rootadmin

何か見落としている点はありますか? 現時点では、/etc/dropbear/dropbear_rsa_host_key独自の秘密鍵を生成するのではなく、dropbear の秘密鍵を抽出して使用するしか選択肢がないと思います。

答え1

公開鍵を入力してください/etc/dropbear/authorized_keys

編集:

~/.ssh当初、dropbear は読み取るべきであるにもかかわらず読み取っていないと思ったので、デフォルトのディレクトリを指定しました/etc/dropbear/authorized_keysデフォルトでは存在しないため、それほど明白ではありません。

質問を読み直して、ホスト キー ペアとログイン キー ペアを混同していることに気付きました。

/etc/dropbear/dropbear_rsa_host_keyルーターのホスト キー ペア ( ) を受け入れ、ルーターのいずれかの場所に公開キーを配置する必要がありauthorized_keysます。これで準備は完了です。

答え2

上記の TB の投稿には、非常に重要な情報が 1 つ抜けています。ausus merlin 386.3_2 およびおそらく他のリリースで ssh を動作させるには、「ルーターで Jiffs パーティションを有効にする必要があります。Jiffs を有効にしただけで、構成ファイルなどがすでに存在し、削除すると別の問題になる可能性があるため、フォーマットしませんでした。

asus merlin wui 内から Jiffs パーティションを有効にします。管理下の ssh フィールドの上にある必要があります。

このちょっとした情報を気軽に投稿してください。複雑な方法の構文が欠けているようなものです...

関連情報