资讯详情

Linux SSH 免密登录

Linux SSH 免密登录

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

image-20220518202242969

概述

什么是 Linux SSH 我认为每个人都应该免密登录。 多少听过 或者操作过,那你真的理解整个免密登录的过程吗?

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

1.SSH 免密登录原理

通过上述图解过程 大致可以分为以下步骤,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"

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

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 加入高速缓存

2.4 ssh-add 私钥

ssh-add命令是添加特殊密钥ssh-agent高速缓存

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

2.5 再次测试登录

可见已成功免密登录。

总结

本文主要讲解 Linux SSH 免密登录的原理和实际操作 ,注意 本地 私钥的权限必须是 600 ,否则会报错 无法 ssh-add 进入高速缓存。

欢迎光临 个人博客 Johnny小屋

标签: twk拉线式传感器swf

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司