误执行ssh-keygen -R后无法通过密码登录非公钥认证SSH服务器的解决方法求助
误执行ssh-keygen -R后无法通过密码登录非公钥认证SSH服务器的解决方法求助
嗨,我完全懂你这种误操作后的崩溃感!别担心,这个问题其实很好解决,咱们一步步来:
临时解决:单次强制密码登录
直接在SSH命令里明确指定优先使用密码认证、禁用公钥认证,执行这条命令就行:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@<你的服务器IP地址>
把<你的服务器IP地址>换成实际的IP,执行后应该就会弹出密码输入提示了。永久解决:配置专属SSH规则
如果不想每次登录都敲这么长的命令,可以修改本地的SSH配置文件,给这个服务器单独设置认证规则:- 打开本地的
~/.ssh/config文件(如果没有就新建一个) - 添加以下内容:
Host <你的服务器IP或自定义别名> User root PreferredAuthentications password PubkeyAuthentication no - 保存文件后,之后直接输入
ssh root@<你的服务器IP>或者你设的别名,就会自动用密码认证了。
- 打开本地的
额外排查(如果上面方法没用)
虽然你说服务器原本是密码认证,但也可以确认下服务器端的配置有没有意外变动:
让服务器管理员检查/etc/ssh/sshd_config文件里的PasswordAuthentication项是否设为yes,如果不是改回来后重启SSH服务(比如执行systemctl restart sshd,不同系统命令可能略有差异)。
备注:内容来源于stack exchange,提问作者user824624
相关产品推荐
相关产品推荐

