zoukankan      html  css  js  c++  java
  • Ubuntu 18.04 root 使用ssh密钥远程登陆

    前言:

    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
    

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

  • 相关阅读:
    lodop传统模板和文档式模板demo
    (方案,没有代码)直播服务器搭建,pc播放和手机播放
    银联在线网关支付测试运行的相关操作(个人笔记)
    docker停止mysql后容器消失
    打包发布ReactNative流程、提测
    工作中常用到的 Git 命令收藏
    React中函数式组件进行优化
    应该知道的TCP/IP
    移动应用消息推送及推送原理
    React中Refs的使用方法
  • 原文地址:https://www.cnblogs.com/lychee/p/10898713.html
Copyright © 2011-2022 走看看