大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第5篇文章

文章目录

  • 前言
  • 为什么用密钥认证
  • 秘钥认证流程
  • 秘钥生成及使用
    • 1. 交互式创建及分发秘钥
      • a) 生成秘钥
      • b) 分发秘钥
      • c) 登陆测试
    • 2. 非交互式创建秘钥
  • 总结

前言

之前我们讨论了ssh的基础入门及配置文件,如果你还没有探究过ssh的基础知识,请点击链接:

【Linux】循序渐进学运维-服务篇-ssh服务入门
【Linux】循序渐进学运维-服务篇-ssh配置文件详解

今天我们着重来聊聊关于秘钥认证那点事。

为什么用密钥认证

远程登录每次都输入用户名和密码,一个是非常麻烦,再一个也不是特别的安全,需要不定期修改密码。
一般在公司里,我们都是一周修改一次密码;当然也有公司几年不修改一次密码的。我从上家公司离职两年后,有一次给学生演示,我登录了一下居然还能登陆,这心得多大。当然咱们恪守本份,不去给他们搞破坏,但难保有一天员工离职时候闹得不愉快,登录上去删根报复的。

秘钥认证流程

公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:

​ 1、客户端生成RSA公钥和私钥

​ 2、客户端将自己的公钥存放到服务器

​ 3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

​ 4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

​ 5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个

秘钥生成及使用

1. 交互式创建及分发秘钥
a) 生成秘钥

一路回车带闪电,私钥的口令可以设置,也可以不设置。

运行结束后,会在 $HOME/.ssh/目录下,会新生成两个文件:id_rsa.pubid_rsa。前者是你的公钥,后者是你的私钥。

b) 分发秘钥
[root@gaosh-64 ~]# ssh-copy-id root@192.168.1.22   ### 分发秘钥
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.1.22's password:   ##输入22这台服务器的密码Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@192.168.1.22'"
and check to make sure that only the key(s) you wanted were added.
c) 登陆测试


可以看到无需输入密码

2. 非交互式创建秘钥

ssh-keygen -t dsa -f ~/.ssh/id_dsa -P “”

参数 作用
ssh-keygen 生成密钥对命令
t 指定密钥对的密码加密类型(rsa,dsa两种)
f 指定密钥对文件的生成路径包含文件名
P 指定密钥对的密码
[root@gaosh-1 ~]# ssh-keygen -t dsa -f ~/.ssh/id_dsa -P ""
Generating public/private dsa key pair.
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
48:ee:69:98:53:3e:63:2e:00:14:27:f3:ad:5c:5f:58 root@gaosh-1
The key's randomart image is:
+--[ DSA 1024]----+
| +..     E       |
| .= .   o        |
|.  . o.. .       |
|. . oo...        |
| . o  +.S        |
|  .  * .         |
|   .+ O          |
|    .= o         |
|     ..          |
+-----------------+
[root@gaosh-1 ~]# 

总结

秘钥认证在后面的学习中,尤其在写shell脚本的时候,涉及到两台服务器的连同, 特别方便。在使用时,只要会 交互式创建秘钥即可。

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我一起交流学习。

【Linux】循序渐进学运维-服务篇-SSH秘钥认证相关推荐

  1. 【Linux】循序渐进学运维-服务篇-ssh配置文件详解

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第4篇文章 文章目录 前言 配置文件的路径 配置文件详解 1. 修改默认端口 2. ListenAddress 0.0.0.0 3. ...

  2. 【Linux】循序渐进学运维-服务篇-ssh服务入门

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第3篇文章 文章目录 前言 1. 什么是SSH? 2. ssh的连接原理 3. ssh服务的安装 1) OpenSSH的构成 2) 安 ...

  3. 【Linux】循序渐进学运维-服务篇-SCP命令

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第6篇文章 文章目录 前言 scp命令的使用 1. 什么是scp? 2. scp的格式 3. 复制本地文件到远程服务器 4. 拉取远程 ...

  4. 循序渐进学运维-服务篇V1版更新完毕

    我是互联网老辛,关注我吧,给自己每天的进步找一个机会和理由,不要被无效信息淹没,免除知识焦虑 前言 循序渐进学运维系列的基础篇参考: 喜大普奔:<循序渐进学运维>第一阶段完稿 本次完结的是 ...

  5. 【Linux】循序渐进学运维-服务篇-rysnc+inotify实战

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第12篇文章 文章目录 前言 实验环境 1. 配置ssh免秘钥登陆,且配置时间同步 2 . 设置rsync的配置文件,确保两台服务 ...

  6. 【Linux】循序渐进学运维-服务篇-rysnc原理

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第7篇文章 文章目录 前言 一. rsync概述 二. rysnc 优缺点 1. 优点: 2. 缺点: 3. 常见备份分类 三. ry ...

  7. 【Linux】循序渐进学运维-服务篇-telnet

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第1篇文章 文章目录 一. telnet的定义 二. telnet远程登录服务的过程 1. 建立连接 2.输入口令 3. 认证并返回结 ...

  8. 【Linux】循序渐进学运维-服务篇-LNMP环境部署

    文章目录 前言 一. LNMP的介绍 二. 什么是Fast-CGI 三. 部署实战 1. 安装php和mysql 2. nginx和php的结合 a. 编译nginx b. 配置nginx与php的结 ...

  9. 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解

    大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...

最新文章

  1. Perl 中的正则表达式
  2. Spring源码-applicationcontext.xml解析过程
  3. mysql中出现没有权限访问或者查看全部数据库的问题---用客户端第一次打开的时候...
  4. Mac再建管理员帐户
  5. python中template是什么意思啊_Python中Template使用的一个小技巧
  6. iOS 块的简单理解
  7. url解码java_JAVA对URL的解码【转】
  8. win10调整分区后盘符不见的文件怎样找回
  9. 遗留非springboot传统项目接入eureka注册与服务发现
  10. 简单易学!一步步带你理解机器学习算法——马尔可夫链蒙特卡罗(MCMC)
  11. 数据库查询-模糊查询
  12. 卡方检验检验水准矫正_医学统计学 第七章 卡方检验
  13. 亚控科技工作中的编程知识小积累
  14. 十二星座最怕失去的东西
  15. 淘宝API item_search_jupage - 天天特价
  16. java基本微信小程序的快递代收派送系统 uniapp小程序
  17. python3根据RGB像素点生成图片
  18. php图片地址怎么看,电脑截屏的图片在哪里找
  19. 【机器学习】LP距离、欧式距离、曼哈顿距离、切比雪夫距离
  20. 2019 CCF-CCSP-苏州之旅

热门文章

  1. 服务器站点间信息交换服务,运行 Cisco IOS 的 Cisco Catalyst 交换机与工作站或服务器之间的 EtherChannel 配置示例...
  2. css和图片如何实现圆角边框
  3. MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据
  4. 广州系统集成项目管理工程师报考
  5. matplotlib之pyplot模块坐标轴标签设置(xlabel()、ylabel())
  6. l计算机中数的表示教案,计算机组成原理电子教案-第2章 计算机中数据的表示法.ppt...
  7. 数据库性能优化步骤_五个简单步骤即可提高数据库性能
  8. react-native通信流程
  9. 四年级上用计算机算的题,2019-2020年四年级数学上册11.1用计算器计算练习题及答案...
  10. 再读《失落的致富经典》-摘录及读后感