ssh密钥初体验-入门

前言

第一次听到ssh密钥的时候很疑惑ssh不是struts+spring+hibernate吗,固然不懂直接问度娘就是了。算法

而后我最初了解到的ssh密钥是为了加密登录服务器的登录操做,后续了解到还能够实现服务器与服务器之间的远程链接,一台服务器多密钥等等操做。spring

话很少说,直接上过程。shell

 

  • 什么是ssh(安全外壳协议

      这里的ssh不是咱们所使用的ssh框架,而是一种协议,是一种专为远程登陆会话和其余网络服务提供安全性的协议。利用 SSH 协议能够有效防止远程管理过程当中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其余操做平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。安全

  • 什么是密钥对

      说到密钥就要了解一下什么是非对称加密算法,密钥对就是,密钥对有公钥和私钥组成,公钥上传到服务器,私钥保存在客户端。服务器

  • 为何要用密钥

      通常服务器登录分为两种,一种基于口令也就是自定义的密码,一种是基于密钥。网络

      第一种级别(基于口令的安全验证)远程终端控制框架

      只要你知道本身账号和口令,就能够登陆到远程主机。全部传输的数据都会被加密,可是不能保证你正在链接的服务器就是你想链接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。ssh

      第二种级别(基于密匙的安全验证)工具

      须要依靠密匙,也就是你必须为本身建立一对密匙,并把公用密匙放在须要访问的服务器上。若是你要链接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求以后,先在该服务器上你的主目录下寻找你的公用密匙,而后把它和你发送过来的公用密匙进行比较。若是两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”以后就能够用你的私人密匙解密再把它发送给服务器。加密

 

      用这种方式,你必须知道本身密匙的口令。可是,与第一种级别相比,第二种级别不须要在网络上传送口令。

      第二种级别不只加密全部传送的数据,并且“中间人”这种攻击方式也是不可能的(由于他没有你的私人密匙)。可是整个登陆的过程可能须要10秒  。

  • 生成密钥

      生成密钥的方式有不少种,这里我借用第三方工具xshell来生成

      打开xshell菜单栏-工具-新建用户密钥生成向导

      默认下一步,这里密钥类型选择rsa,密钥类型有两种,这里不详细说,长度可随意,这里默认选择2048

      等待生成,下一步

      密钥名称自定义,通俗易懂就好,下面的加密密码可填可不填,继续下一步

      生成完成,选择保存为文件,而后点击完成,密钥对的生成就完成了

      接下来咱们登录服务器进行配置,使用xshell登录,这里提一下,ssh密钥的默认端口号是22

      将公钥上传到cd root/.ssh/文件夹下

      若是安装lrzsz的话能够输入rz上传文件,也能够下载一个第三方工具xftp来上传,选中本身的公钥上传

      输入ls 查看是否上传成功

      将公钥的内容追加到authorized_keys文件中,mv 公钥文件名 >> authorized_keys,cat authorized_keys查看一下是否追加成功,这里由于我已经追加过了,因此我省略了这一部分

      最后改变文件权限

      chmod 700 .ssh

      chmod 600 .ssh/authorized_keys

      以上基本完成了简单的ssh密钥配置

 

      接下来咱们尝试一下使用密钥登录,先exit退出当前服务器的登录

      选择下方的public key,密钥默认帮咱们选择了,若是有其余密钥能够单击浏览选择

      下方的密码就是以前说可填可不填的密码,看本身状况填写,而后单击肯定便可登录

      若是各位看官大大发现哪里不对或者有更好的方法能够提出来,我也是第一次接触并不熟悉。

相关文章
相关标签/搜索