美文网首页
Linux SSH 免密登录

Linux SSH 免密登录

作者: Aska小强 | 来源:发表于2022-06-15 16:23 被阅读0次

    Linux SSH 免密登录

    本篇我们来 看看 Linux 的免密登录的原理 以及实际操作一番

    image-20220518202242969

    概述

    什么是 Linux SSH 免密登录,我觉得大家应该都 多少听过 或者操作过,那你真的理解整个免密登录的过程吗?

    Linux SSH 免密登录 就是 可以不输入密码 就可以通过SSH 远程连接到 服务器了

    1.SSH 免密登录原理

    image-20220518200218509

    通过上面的图解流程 可以大致分为下面几步,A 作为Client端 B作为 Server端

    1. A -> B A免密登录B
    2. 在A上生成公钥私钥。
    3. 将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
    4. Server A向Server B发送一个连接请求 请求包括 A的 用户名和IP
    5. Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A
    6. Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。

    2.SSH 免密登录实验

    假设我有一台服务器 它的 ip 是 139.198.189.160 ,我现在想通过 本机进行免密登录这台机器

    2.1 生成公钥私钥

    -f 指定文件 -t 类型 -C 指定邮箱

    ssh-keygen -t rsa -f ~/.ssh/id_rsa_test   -C "zhangqiang@163.com"
    
    image-20220518201238480

    可以看到 已经生成了 公钥 id_rsa_test.pub 和 私钥 id_rsa_test

    image-20220518201314849

    2.2 把公钥copy到 服务器 ~/.ssh/authorized_keys

    可以追加到 ~/.ssh/authorized_keys 文件的最后面

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD5jfom6Qts6tjpOAZwde2tWK9/MrKqCKgOd4Y/YILVD4nnvhs2X15N0VyWyZrVrqrUpyG7l3jEspbQxJHNJ9k80NbJqW5EyRernXCpoFICmUnfJnu3VYyBxyKxa1wa7/1xNKq3EEdVGmR2rcajVljfyo4ErPP6NrTbxCa0Do9mmXh2XiEdvrTogSud1c1c/+d7WOwiosD++y9ZxErwZkqBvxfimMTjfsrxTvZ8CIdhAS2THZeuVtFgpxS3TVdt1oXw/BOYsE8kjgZCZ/g0Sbm7w4ZHhKqvO+3q3tSarZyUnkEpeHLWztoH7GUaDjJrqrImlwubt9dzhlV446uefYXxq7WBVKbrGkhSkGN6pKp5xnSkQw0zGAPzieSslvd+0LLPGJ0uIqSq9h5TVGDMVcN2NmASBPB/e4jYzUBTr6hvhvRWPq7HoGSBUoeLYtQiNjUxc8SVSBkofJEoydsTzwlP8/yqBp4mGqyZgSRoBRALflXpCkNBa1HNiRujazxFsSU= zhangqiang@163.com
    

    2.3 测试登录

    此时发现 它还是需要我们输入密码 这是为什么呢?因为这时候 你的 私钥还没有 ssh-add 添加到高速缓存中

    image-20220518201616952

    2.4 ssh-add 私钥

    ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中

    image-20220518201746505

    注意 私钥的权限一定要是 600 ,否则会报错 ,可以通过 chmod 600 ~/.ssh/id_rsa_test 更改

    image-20220518201912573

    2.5 再次测试登录

    可以看到已经成功免密登录了

    image-20220518201956879

    总结

    本篇主要讲解了 Linux SSH 免密登录的原理,以及实际操作了一把 ,注意 本地 私钥的权限一定要是 600 ,否则会报错 无法 ssh-add 进高速缓存中。

    欢迎大家访问 个人博客 Johnny小屋

    相关文章

      网友评论

          本文标题:Linux SSH 免密登录

          本文链接:https://www.haomeiwen.com/subject/lepxvrtx.html