Ubuntu 18.04 root 使用ssh密钥远程登录

前言:

Ubuntu默认是禁止root用户远程登录shell

本教程解决Ubuntu 18.04版本 root用户 使用ssh密钥没法远程登录的问题ubuntu

问题发生的环境:

腾讯云,重装Ubuntu服务器时选择使用ssh密钥登录服务器。服务器

问题归纳:

重装完成后默认建立了ubuntu用户,使用ssh密钥正常登录,编辑/etc/ssh/sshd_config文件开启PermitRootLogin yes并重启sshd服务,使用Xshell使用root远程链接失败,提示“所选的用户密钥未在远程主机上注册”。ssh

Google搜索问题发现大多数都是相似如下解决方法:rest

  1. sshd_config开启运行root远程登录PermitRootLogin Yes (已配置 但root登录失败)code

  2. root登录次数太多 帐号被锁 重置登录次数 (不是此条缘由)blog

    尝试无果继续搜索 看到一篇文章提到教程

    配置ssh公钥到user/.ssh/authorized_keysget

    https://www.jianshu.com/p/7cd6f8102816?utm_campaignit

这篇文章给了我思路,腾讯云重装系统只要勾选使用ssh登录,就会默认帮咱们配置好默认的ubuntu用户的ssh配置设置,而root用户由于默认就禁止远程登录,那么会不会也所以并无配置上ssh公钥呢。(根据上面的登录失败提示 内心想应该八九不离十就是这个缘由)

解决思路

使用命令查看authorized_keys文件的路径

find -name authorized_keys

img

发现确实root和ubuntu用户分别对应一个authorized_key文件

对比查看两个authorized_keys文件发现问题所在,ubuntu用户加载了正确的ssh公钥,而root用户下的authorized_keys文件内容则为空。知道问题所在就好解决了

解决步骤

使用命令移动到ubuntu用户下的authorized_keys文件所在目录

cd /home/ubuntu/.ssh/

拷贝authorized_keys文件覆盖root用户下.authorized_keys文件

cp -i authorized_keys /root/.ssh/

sudo service ssh restart

重启ssh服务以后问题就解决了。

相关文章
相关标签/搜索