• Centos 7 SSH 无密码登录


    Centos 7 SSH 无密码登录

    需求

    本人购买的阿里云 ECS, 用来做一些技术训练与部署自己开发的应用,所以要经常通过 SSH 连接到服务器进行应用部署与维护。
    虽然 xshell 有 用户名/密码 加密保存的功能,但个人更喜欢 putty(没有多余的功能,专注工作),而且 xshell 没有 mac 版。
    所以,迫切需要有一种方法能够免密码登录到云服务器,而且随处可用

    方案

    使用"公私钥"认证的方式来进行ssh登录

    原理

    1. 客户端上创建一对 RSA 公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)

    2. 把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥

    3. 当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配,如果匹配成功登录成功

    实现

    windows (基于putty)

    1. 下载 puttygen.exe, 用于生成 RSA 公私钥

    2. 运行 puttygen.exe, 点击 Generate, 如下图:
      enter description here
      然后,在空白区随意移动鼠标,puttygen.exe 会根据鼠标移动生成随机数,用来生成 RSA 公私钥
      enter description here
      生成完成后,如下图所示:
      enter description here

    3. 将上一步生成的 Public Key 全部 copy, 然后放到服务器端 ~/.ssh/authorized_keys 文件里,一个 Public Key 占据一行,如下图所示:
      enter description here

    4. 点击 puttygen.exe 的 Save private key, 将 RSA 私钥保存成一个文件

    5. 打开 putty , 操作步骤如下:

      • 会话 :填写服务器 IP 、Port
      • 连接→数据:填好自动登陆用户名
      • 连接→SSH→认证:选择认证私钥文件(第4步保存的文件)
      • 会话:填写会话名称,保存
    6. 完成,直接双击会话名称即可免密码登录成功

    linux

    由于现在家里没有 linux 机器,而且 mac 也被老婆霸占,所有 linux 方法敬请期待(原理一样,步骤更少,随便在 google 在百度一下就行)。

  • 相关阅读:
    Windows身份验证和混合验证的差别
    Codeforces Round #273 (Div. 2) --B Random Teams
    带输出參数的存储过程的定义,以及在aso.net中调用
    数字统计
    UVa10048_Audiophobia(最短路/floyd)(小白书图论专题)
    C语言之基本算法21—可逆素数
    我在CSDN开通博客啦!
    小谈并查集及其算法实现
    C#高级编程五十四天----Lookup类和有序字典
    开发人员调试工具Chrome Workspace
  • 原文地址:https://www.cnblogs.com/feshfans/p/9307407.html
Copyright © 2020-2023  润新知