• Linux-ssh秘钥登录


    1、公私钥简介与原理

      公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是:

    1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的公钥,如果有则使用一个随机字串使用公钥加密并发送给乙。

    2) 乙收到加密的字串使用自己的私钥进行解密,并将解密后的字串发送给甲。

    3) 甲接收到乙发送来的字串与自己的字串进行对比,如过通过则验证通过,否则验证失败。

    流程:

    主机A(Linux客户端)创建公钥私钥,并将公钥复制到主机B(被登陆机)的指定用户下,然后主机A使用保存私钥的用户登录到主机B对应保存公钥的用户。

    步骤:

    客户端中制作密钥对(Linux命令)

    ssh-keygen

    [root@host ~]$ ssh-keygen  <== 建立密钥对
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
    Enter same passphrase again: <== 再输入一遍密钥锁码
    Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
    Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
    The key fingerprint is:
    0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

    现在,在客户端 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。

    将公钥文件中的内容拷贝到服务器的~/.ssh/authorized_keys文件中 cat id_rsa.pub >> authorized_keys 

    如果是windows中使用ssh工具登录:

    私钥文件一般放在c:/users/Administrator/目录中

    在使用ssh工具登录时选择public Key,导入私钥,即可登录

    如果是在Linux系统中使用ssh命令登录:

    将客户端公钥文件导入到服务器的~/.ssh/authorized_keys文件中

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@139.155.44.138

    ssh免密登录

    ssh -p22 root@139.155.44.138

     

    参考:

    https://www.runoob.com/w3cnote/set-ssh-login-key.html

    https://www.cnblogs.com/henkeyi/p/10487553.html

  • 相关阅读:
    C++ ORM ODB 入门(三)
    C++ ORM ODB 入门介绍(二)
    最简便的MySql数据库备份方法
    快速高效的破解MySQL本地和远程密码
    C++ ORM ODB 入门介绍(一)
    NeHe OpenGL教程 第三十九课:物理模拟
    NeHe OpenGL教程 第三十八课:资源文件
    NeHe OpenGL教程 第三十七课:卡通映射
    NeHe OpenGL教程 第三十六课:从渲染到纹理
    NeHe OpenGL教程 第三十五课:播放AVI
  • 原文地址:https://www.cnblogs.com/fanfan-90/p/12252966.html
Copyright © 2020-2023  润新知