应用场景:有时候我们要给远在北京或者国外的开发人员服务器的权限,为了保证服务器的安全性我们不想让他们知道服务器的root登陆密码,所以我们可以给他们用秘钥加密码的登陆模式。

原理:公钥加密 私钥解密。公钥和私钥是成对生成的,所以将私钥发给别人别人也能登陆

客户端ip:192.168.0.186

服务器ip:192.168.0.167

1.密钥认证的生成

[root@vm1 .ssh]# ifconfig eth0 | awk  '/inet addr/{print }'

inet addr:192.168.0.163  Bcast:192.168.0.255  Mask:255.255.255.0

[root@vm1 .ssh]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):  #密钥报存的位置和名称

Enter passphrase (empty for no passphrase):   #空密码

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:

8a:85:d9:37:a8:95:e2:06:0e:d3:18:91:11:60:11:68 root@vm1

The key's randomart p_w_picpath is:

+--[ RSA 2048]----+

|BBo              |

|+E               |

|o                |

| +   + o         |

|+ o + * S        |

| + o * o .       |

|  . = .          |

|   .             |

|                 |

+-----------------+

公钥已经生成

现在把公钥上传到另一台服务器上去

[root@vm1 .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.167:/root/.ssh/

或者使用:

[root@vm2 .ssh]# scp id_rsa.pub root@192.168.0.167:/root/.ssh/

登陆到服务器上:

服务器把客户端公钥重命名

[root@localhost .ssh]# mv id_rsa.pub authorized_keys

authorized_keys要644

修改ssh配置文件,设置公钥认证登录

vi /etc/ssh/sshd_config

将下边2行的注释去掉,重启ssh服务

RSAAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

/etc/init.d/sshd restart

配置完毕,现在开始登录一下

[root@vm2 .ssh]# ssh 192.168.0.167

Enter passphrase for key '/root/.ssh/id_rsa':

Last login: Wed Sep 10 05:20:47 2014 from 192.168.0.186

[root@localhost ~]#

现在输入之前设置秘钥的密码,就可以登录了。退出登录

[root@localhost ~]# exit
logout
Connection to 192.168.0.167 closed.

linux ssh 密钥认证和秘钥密码即可登录。

当开发人员用完服务器之后我们在服务器上删除公钥即可。开发人员就无法登陆了。

如果其他客户机也要登陆这台服务器我们只需要将客户端的私钥发给其他人就可以登陆了。

是不是很牛逼啊。。。。。

转载于:https://blog.51cto.com/zlong37/1551215

秘钥加密码的登录模式相关推荐

  1. md5加密解密代码_Python内置方法实现基于秘钥的信息加解密

    点击关注州的先生 精彩不容错过 在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密.比如密码中比较常见的MD5加密,以及AES加密等等.对于密码认证来说,MD5加密是比较适合的,因为其 ...

  2. 远程LInux和秘钥认证

    一.使用putty和xshell远程Linux主机 putty和xshell都是一个能远程连接linux系统的终端工具,使用终端工具便于远程维护操作复制粘贴内容,xshell还支持用户密码保存及多窗口 ...

  3. mysql aes密钥大于16位_aes秘钥限制问题解决办法

    在oarcle jdk1.8上执行256位的aes秘钥加密报错如下: java.lang.RuntimeException: java.security.InvalidKeyException: Il ...

  4. 密码算法原理与分析:RSA安全与秘钥基础设施

    本文转自网络文章,内容均为非盈利,版权归原作者所有. 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除. 原文作者:evilpan 原文地址:RSA安全与秘钥基础设施 目录 前言 RSA原理 秘钥 ...

  5. Vigenere密码(案例:Vigenere密码加密单词”explanation“,秘钥为”leg“。)

    Vigenere密码 是什么 是使用一系列凯撒密码组成密码字母表的加密算法,属于 多表密码 的一种简单形式. 为什么 针对单表代替密码容易被频率分析法破解的缺点,人们提出多表代换密码,用一系列(两个以 ...

  6. 自动秘钥密码(Autokey)

    自动秘钥密码(Autokey) 加密对象: 字母 原理: 该密码玉维吉尼亚密码很像, 不同的是秘钥的构成方式不同. 维吉尼亚密码密码的秘钥是有关键字的重复构成的,而该密码的秘钥是由关键字和明文本身构成 ...

  7. 国密:生成SM2秘钥、加解密及加验签

    国密改造已经持续了很长时间了,相信很多从事金融科技类的程序猿都遇到过这个需求.这篇文章就为大家带来笔者对于国密改造的一些经验,主要是代码层面,有兴趣的同学可以研究下国密的算法模型! 注:本文所用到的工 ...

  8. php开发支付宝支付密码忘记了怎么办_php支付走过的坑(支付宝篇 注册 秘钥 环境等等配置)...

    支付这东西,说容易也容易,说难也难 代码这玩意还比较好说 但是 如果没有demo 直接去看官方文档 十有八九一脸懵逼 今天就整理一下 支付这块走过的坑 涉及 微信h5支付 支付宝h5支付 (api文档 ...

  9. python3 rsa加密_python3产生RSA秘钥对并执行加解密操作详解

    加密使用的是公钥对数据进行加密,而且当你使用一把1024bit的rsa公钥的时候,你一次只能加密最多117byte的数据,如果数据量超过这个数,可能会涉及到对数据进行分段加密的问题.而且现在rsa 1 ...

最新文章

  1. 电脑任务管理器_电脑任务管理器没有进程怎么办
  2. 枚举 + 进制转换 --- hdu 4937 Lucky Number
  3. 论文笔记:N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FORINTERPRETABLE TIME SERIES FORECASTING
  4. 华为云 和 阿里云 跨服务器搭建Hadoop集群
  5. php联想输入,自动联想搜索提示功能
  6. 2013第四届蓝桥杯Java组省赛题解析
  7. 实战:隐藏SpringBoot中的私密数据!
  8. java基础教程知识点,[Java教程]js基础知识点总结
  9. python3 pygame load图片不显示_Python——mac下pygame踩坑,绘制图像不加载
  10. 图像处理算法工程师——1必备技能总结——2面试题大全
  11. 新买的服务器安装系统流程,新买的服务器安装操作系统
  12. android裁剪部分放大动画,【Android】图片放大被截了一部分之认识clipChildren属性的用法...
  13. React源码分析 - 组件初次渲染
  14. CMDN创新应用推荐:泊车伴侣Parkbud
  15. Python之numpy 中linspace函数
  16. CAD.net二次开发之图层,文字样式,标注样式,标注封装,引线的封装
  17. MPC-HC 播放器设置
  18. Vue打包出现Browserslist: caniuse-lite is outdated
  19. 系统线性、时不变、因果判断
  20. CTF MISC系列————8、Misc1-纵横四海

热门文章

  1. Mr. Process的一生-Linux内核的社会视角 (2)启动
  2. 极品:蓝丽网 - Vml图像画板.2003 web上的PhotoShop
  3. webkit内核 css,纯CSS改变webkit内核浏览器的滚动条样式
  4. linux 雷电接口,Intel完全开放雷电技术:底层融合USB 4
  5. python自带图形模块_检查单击是否在图形对象内[Python图形模块]
  6. python 学术_Python
  7. 职校中的计算机学的是什么,职校计算机专业主要学什么课
  8. Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)
  9. 【Echarts】当页面宽度改变时如何使图表宽度自适应
  10. 【单片机】写电子钟时遇到的问题