使用 Asus Merlin 韌體在路由器上基於無密碼公鑰的 SSH 登錄

使用 Asus Merlin 韌體在路由器上基於無密碼公鑰的 SSH 登錄

我正在嘗試在運行版本 384.4_2 的 ASUS RT-AC68U 家用路由器上啟用無密碼 SSH 登錄華碩Merlin韌體(發布此資訊時最新的)。閱讀了許多帖子和指南(包括這個),我仍然無法讓它工作。

我使用 PUTTYGEN 產生一對 RSA-2048 金鑰,將公鑰保存在~/.ssh/authorized_keys路由器上,然後嘗試使用 PUTTY 連接,我將其限制在 RSA。當 PUTTY 協商會話加密時,它會提示接受伺服器提供的公鑰。我希望它是我的金鑰~/.ssh/authorized_keys,但我總是看到 dropbear 自己的公鑰(來自/etc/dropbear/dropbear_rsa_host_key)。我一跑就知道是那個人dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key

資料夾的權限~/.ssh設定為700, ~/.ssh/authorized_keysfor 600。金鑰透過路由器的 Web UI 以正確的格式儲存(即,ssh-rsa AAAA...5iYw== rsa-key-20180401無換行符號)。我以 SSH 用戶身份嘗試了root和。admin在將路由器重置為出廠設定後,我也從頭開始嘗試一切,結果相同。

我有什麼遺漏的嗎?此時,我認為我唯一的選擇是從中提取 dropbear 的私鑰/etc/dropbear/dropbear_rsa_host_key並使用它,而不是產生我自己的私鑰。

答案1

將您的公鑰放入/etc/dropbear/authorized_keys

編輯:

我最初認為 dropbear 沒有讀取,~/.ssh儘管它應該讀取,所以我指向了預設目錄/etc/dropbear/authorized_keys預設不存在,所以不是那麼明顯。

重讀這個問題,我意識到您將主機金鑰對與登入金鑰對混淆了。

您需要接受路由器主機金鑰對 ( /etc/dropbear/dropbear_rsa_host_key) 並將您的公鑰放在路由器上任一位置的authorized_keys檔案中,然後就可以開始了。

答案2

上面的 TB 帖子中遺漏了一個非常重要的訊息。為了讓 ssh 在 ausus merlin 386.3_2 和最有可能的其他版本上工作「必須在路由器中啟用 Jiffs 分割區。我只啟用了 Jiffs 但沒有格式化它,因為那裡已經有設定檔等,如果已刪除。

在 asus merlin wui 中啟用 Jiffs 分割區,應位於管理下的 ssh 欄位之上。

請隨意發布這一點信息......這有點像在一些複雜的如何......中缺少語法。

相關內容