我正在嘗試在運行版本 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_keys
for 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 欄位之上。
請隨意發布這一點信息......這有點像在一些複雜的如何......中缺少語法。