嘗試透過 Internet 連接到伺服器時權限被拒絕(公鑰)

嘗試透過 Internet 連接到伺服器時權限被拒絕(公鑰)

運行 Ubuntu 伺服器 20.04.01

在路由器上連接埠轉送連接埠 22 後,我可以透過連接到 IP 位址透過 ssh 存取我的伺服器。與 IPv4 的本機主機連線仍然有效。但是,在使用 Google 驗證器設定雙重認證後,我無法再使用 IP 位址進行連接,只有 IPv4 有效,而且它確實會驗證驗證碼。

每次都會說:

sudo ssh [email protected] 
[email protected]: Permission denied (publickey).

我已確保在連接到伺服器之前在 WSL 上產生的金鑰 (/home/username/.ssh/id_rsa.pub) 也在登入時位於伺服器檔案 (/home/username/.ssh/authorized_keys) 上。

有什麼建議麼?

答案1

跟進我的評論,因為它解決了問題。

我認為添加 Google 身份驗證器與您的問題無關。基本上,執行命令時會sudo在 root 使用者的上下文中運行它。當您運行該命令時ssh user@server,它將查找/home/$USER/.ssh/要使用的私鑰。當您使用 運行它時sudo ssh user@server,它會在下面找到/root/.ssh/私鑰。我猜你的金鑰在你的使用者帳號而不是 root 下。

相關內容