前言:

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

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

问题发生的环境:

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

问题概括:

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

Google搜索问题发现大多数都是类似以下解决方法:

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

  2. root登陆次数太多 账号被锁 重置登陆次数 (不是此条原因)

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

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

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

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

解决思路

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

find -name authorized_keys

发现确实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服务之后问题就解决了。

Ubuntu 18.04 root 使用ssh密钥远程登陆的更多相关文章

  1. ubuntu 18.04屏幕共享 -------(转载) ( Windows远程登录Ubuntu )

    原文地址: https://my.oschina.net/michaelshu/blog/3018932 ----------------------------------------------- ...

  2. Ubuntu 18.04 启动root账号并授权远程登录

    Ubuntu 18.04 刚刚上市2个月,下载安装,尝尝鲜~ 安装界面看上去舒服许多, 安装的速度也较之前17.04 和16.04 都快了许多.抱歉,未截图. Ubuntu 安装完成后默认不启动roo ...

  3. Ubuntu 18.04系统中不能ssh外网远程

    前言 今天我不小心动了电插板,导致服务器断电,用远程命令开机,居然很长时间没反应,索性就亲自按电源键重启.服务器正常开机启动,ssh可以内网访问,远程命令内网有效果,就是外网不行.经过分析排查,是不是 ...

  4. How to permit SSH root Login in Ubuntu 18.04

    https://www.ubuntu18.com/ssh-permitrootlogin/ SSH root login is disabled by default in Ubuntu 18.04. ...

  5. SecureCRT通过SSH2协议远程登录Ubuntu 18.04的过程总结

    reference: https://blog.csdn.net/ghostar03/article/details/47441715 https://blog.csdn.net/u011186256 ...

  6. [转帖]Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接

    Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接 https://blog.csdn.net/networken/article/details/88938304 转帖 ...

  7. 在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码

    在Ubuntu 18.04 下安装mysql 不知道是由于mysql更新为新版还是.Ubuntu18.04中的特性,安装过程中没有设置密码的环节,在网络上找了半天,总算解决了!特此记录下来,以便以后查 ...

  8. 如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库. MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或 ...

  9. srs部署到ubuntu 18.04 server

    srs.txt ubuntu 18.04 安装 srs 1. 上传srs_40.7z和h2ws.7z到linux服务器,然后远程ssh连接 (假设登陆用户名是bob,linux服务器ip是192.16 ...

随机推荐

  1. mysql 配置 explicit_defaults_for_timestamp

    在之前的配置中,除了目录之外,唯独添加了这一项配置,为什么? 因为mysql中timestamp类型和其他的类型不一样: 在之前先了解一下current timestamp和on update cur ...

  2. SSL Converter & Formats

    https://www.sslshopper.com/ssl-converter.html PEM Format The PEM format is the most common format th ...

  3. Qt使用com组件的一点小心得(使用Qt自带的工具dumpcpp生成.h和.cpp文件)

    这几天工作中要用到Qt调用com组件,主要用到的类型有dll和ocx,使用他们的方法很简单:1.将com组件注册到系统中.2.使用Qt自带的工具dumpcpp将com组件生成cpp和头文件.3.然后就 ...

  4. 解决socket.error: [Errno 98] Address already in use问题

    如果python中socket 绑定的地址正在使用,往往会出现错误, 在linux下: 则会显示“ socket.error: [Errno 98] Address already in use” 在 ...

  5. 为什么Python中“2==2>1”结果为True

    在Python中,你可能会发现这样一个奇怪的现象: >>> 2 == 2 > 1 True >>> (2 == 2) > 1 False >> ...

  6. 使用豆瓣的pip源安装python模块

    1.指定豆瓣pip源安装Django pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com ...

  7. DNS之主服务器正向区域部署流程

    正向区域:将域名解析为IP 搭建步骤 1)定义区域 2)编写区域解析库文件 3)添加记录 环境介绍 [root@dns ~]# cat /etc/centos-releaseCentOS releas ...

  8. 03 Javascript的数据类型

    数据类型包括:基本数据类型和引用数据类型 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值 ...

  9. HBase 学习之路(十一)—— Spring/Spring Boot + Mybatis + Phoenix 整合

    一.前言 使用Spring+Mybatis操作Phoenix和操作其他的关系型数据库(如Mysql,Oracle)在配置上是基本相同的,下面会分别给出Spring/Spring Boot 整合步骤,完 ...

  10. CI框架中的奇葩

    今天在win下开发,使用ci框架,本来是没有任何问题,然后转向了mac上开发,结果出现了个奇葩的问题,就是在ci框架中,控制器命名以"Admin_"为前缀的,在url中,控制器也必 ...