运行 Ubuntu Server 20.04.01
在路由器上转发端口 22 后,我能够通过 ssh 连接到 IP 地址来访问我的服务器。本地主机与 IPv4 的连接仍然有效。但是,在使用 Google Authenticator 设置双因素身份验证后,我无法再使用 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 Authenticator 与您的问题无关。基本上,使用 运行命令会sudo
在 root 用户上下文中运行它。当您运行命令时ssh user@server
,它会在下面查找/home/$USER/.ssh/
要使用的私钥。当您使用 运行它时sudo ssh user@server
,它会在下面查找/root/.ssh/
私钥。我猜你的密钥在你的用户帐户下,而不是 root 下。