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 在百度一下就行)。

原文地址:https://www.cnblogs.com/feshfans/p/9307407.html