• 你好!欢迎你的到来
  • 关于我们
  • 首页 博客 专栏 技术导航 工具
  • 博文分类
    • PHP(41)
    • MySQL(9)
    • Linux(24)
    • html(3)
    • JQuery(4)
    • JavaScript(9)
    • svn(2)
    • CSS(2)
    • seajs(1)
    • go(26)
    • redis(1)
    • nginx(9)
    • mongo(0)
    • 其他(23)
    • 生活(1)
    专栏
    • Jquery基础教程
      • 文章:(15)篇
      • 阅读:6409
    • shell命令
      • 文章:(32)篇
      • 阅读:10368
    • Git教程
      • 文章:(32)篇
      • 阅读:21385
    • 摘要视图
    • 目录视图
    SSH 秘钥Key的简介以及生成和使用
    标签: ssh公钥和私钥
    2018-02-27 21:34 阅读(1095) 评论(3)

    一、SSH key简介

    要了解SSH key简介,首先得熟悉SSH,关于ssh可以参考“SSH的初步使用详解”。SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器上,而私钥必须的保管好。

    1、什么是公钥登录

    公钥登录,很多时候也说public key认证,公钥登录的原理:首先用户将自己的公钥存储在需要登录的远程机器上面,然后登录的时候,远程主机会向用户发送一段随机字符串,接着用户使用自己的私钥加密字符串,并发给远程主机。最后,远程主机使用存储的公钥进行解密,若解密成功,则说明用户可信,准许登录,不在提示输入密码。

    备注:

    1、服务端会将客户端发的公钥写入到~/.ssh/authorized_keys 文件末尾。

    2、公钥和私钥在客户端(登录端)生成

    2.什么是口令登录

    口令登录,即登录的时候需要输入登录密码。

    1.客户端向服务器发出请求

    2.服务器将自己的公钥返回给客户端;

    3.客户端用服务器的公钥加密登录信息, 再将信息发送给服务器;

    4.服务器接收到客户端传送的登录信息, 用自己的私钥解码, 如果结果正确, 则同意登录, 建立起连接。

    实现原理如下图:

    备注:

    1、公钥和私钥在服务端生成

    二、生成公钥和私钥

    ssh-keygen命令,可以生成公钥和私钥,默认生成到用户的家目录下的.ssh文件夹里面

    私钥默认会被保存在 ~/.ssh/id_rsa

    公钥默认会被保存在 ~/.ssh/id_rsa.pub 

    命令的格式如下:

    ssh-keygen -f fileName -t rsa -C "dequan@example.com"

    参数解析:

    -f 指定要生成文件的文件名称

    -t 设置认定方式,值为rsa,即非对称加密;或dsa,即数字签名和认证

    -c 指定公钥中的备注信息

    三、使用公钥登录的案例

    现在,我将从ip为192.168.13.143 的机器,以公钥登录的方式,登录到ip为192.168.13.139的机器。

    默认情况下,如果不输入密码,是无法登录的,如下:

    1、存储公钥

    存储公钥,即将192.168.13.143上面生成的公钥,存储在192.168.13.139上面root用户的家目录,如下:

    将公钥的内容,追加到192.168.13.139上面root用户家目录下的.ssh/authorized_keys文件中,如果该文件不存在,需要手动创建。

    2、重新登录

    执行如下命令登录

    ssh root@192.168.13.139

    可以看到,这次不需要输入密码,即可完成登录了。


    本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
    http://www.findme.wang/blog/detail/id/376.html

    若您感觉本站文章不错,读后有收获,不妨赞助一下?

    我要赞助

    您还可以分享给朋友哦

    更多
    顶
    6
    踩
    0
    • 上一篇: 在centos6.5中samba的安装
    • 下一篇: go里面时间time包使用
    • 查看评论
    • 正在加载中...
    • 留言
    • 亲,您还没有登录,登录后留言不需要审核哦!
      可以使用如下方式登录哦!
  • CSDN | 新浪微博 | github | 关于我们 | 我要留言 | 友链申请
  • 豫ICP备18038193号    Copyright ©lidequan All Rights Reserved