運行 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 下。