• 【 Linux 】密钥对登录Ubuntu 20.04


    问题背景

    背景:在开启阿里云服务器时,官方建议云服务器登录方式使用密钥对登录。

    实际上,在登录过程的认证中,踩坑不少。解决问题后,特地来总结。

    环境介绍

    1、阿里云服务器 Ubuntu 20.04 ;

    2、本地主机 Ubuntu 20.04 ;

    3、登录云服务器用户 ecs-user(采购服务器时设置);

    正文开始

    1、创建并绑定密钥对,浏览器自动保存私钥 (xxx.pem文件);

    2、在阿里云平台,实例管理,上传私钥到云服务器;

    3、 本例私钥所在路径 /home/ecs-user/xxx.pem

    4、在云服务器

    # 使用私钥生成公钥
    
    ## 授权为400
    chmod 400 /home/ecs-user/xxx.pem
    
    ## 生成公钥
    ssh-keygen -y -f /home/ecs-user/xxx.pem
    
    # 复制输出的公钥信息
    
    ## 找到 authorized_keys(重要文件养成习惯:先备份,再更改)
    cd ~
    pwd
    ## /home/ecs-user
    cd .ssh
    
    ## 备份 authorized_keys 到 ./backup/authorized_keys
    mkdir backup
    cp authorized_keys ./backup/authorized_keys
    
    # 将公钥信息使用Vim复制到.ssh/authorized_keys
    
    # 重启sshd服务
    systemctl restart sshd 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    5、本地主机

    # 找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem
    # 本机 /hddp/key/xxx.pem
    
    # 修改私钥文件的属性
    # chmod 400 [.pem私钥文件在本地机上的存储路径]
    chmod 400 /hddp/key/xxx.pem
    
    # ssh 连接云服务器
    # ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]
    ssh -i /hddp/key/xxx.pem ecs-user@10.10.xx.xxx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    6、这时你就会看到,登录云服务器成功的提示信息了。

    在这里插入图片描述

    7、以后登录这台云服务器只需最后一步。

    ssh -i /hddp/key/xxx.pem ecs-user@10.10.xx.xxx
    
    • 1

    后记

    Windows

    如果是Windows用户,采用第三方连接工具,私钥登录云服务器很简单,基本下载个软件就能搞定。

    网上关于相关的教程很多,本文就不再赘述。

    本文初衷

    写这篇密钥对登录的来由:阿里官方支持密钥对登录的系统不多,Ubuntu 20.04就是其中支持的一个,本着体验新功能的好奇心,开启踩坑之路。直至目前2022.8.11,看到相关教程不全,或者太过言简意赅,本人不能参透,于是在成功后,写一篇文章记录,避免后续的小白踩坑。

    阿里云官方指导

    https://help.aliyun.com/document_detail/51798.html

    在支持SSH命令的环境中使用密钥对(通过命令配置信息)

    本节介绍如何在支持SSH命令的环境(例如Linux、Windows下的MobaXterm)中通过命令配置所需信息,并通过SSH命令登录Linux实例。

    1. 找到.pem私钥文件在本地机上的存储路径,例如~/.ssh/ecs.pem。

      此处路径和文件名称仅为示例,在后续命令中请根据实际情况修改。

    2. 运行以下命令修改私钥文件的属性。

      chmod 400 [.pem私钥文件在本地机上的存储路径]
      
      • 1

      示例如下:

      chmod 400 ~/.ssh/ecs.pem
      
      • 1
    3. 运行以下命令连接至实例。

      ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]
      
      • 1

      示例如下:

      ssh -i ~/.ssh/ecs.pem root@10.10.xx.xxx
      
      • 1
  • 相关阅读:
    python的opencv操作记录(五) - 空间域与频域转换
    协程设计原理
    PID原理及python简单实现与调参
    交返是做日内交易的必要条件
    php中进程、线程、协程详细讲解
    神经网络控制与matlab仿真,神经网络matlab代码程序
    第六章 支持向量机
    cmake 升级
    小黑第一次参加主持活动,没有出错被得到了鼓励,周日完赛人生中第一次山道马拉松的leetcode之旅:167. 两数之和 II - 输入有序数组
    腾讯云SSH连接不上的一个解决办法
  • 原文地址:https://blog.csdn.net/CharlynYanyan/article/details/126279770