ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-04-13 23:11:19  阅读:210  来源: 互联网

标签:学运 秘钥 SSH key dsa root id ssh


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

文章目录


前言

之前我们讨论了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: 1

Now 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脚本的时候,涉及到两台服务器的连同, 特别方便。在使用时,只要会 交互式创建秘钥即可。

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

标签:学运,秘钥,SSH,key,dsa,root,id,ssh
来源: https://blog.51cto.com/xinsz08/2704429

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有