您现在的位置是:首页 > 电脑学习教程 > Linux > 文章正文 Linux

CentOS8服务器入门系列教程(八):SSH远程密钥登录详解

简书@学者学者 2019-11-12 11:04:30 Linux

简介尊敬的读者朋友,请您带着问题去阅读这篇文章,因为我想分享给你的是应对问题的方法,而不仅仅局限于解决问题的步骤。本文是《CentOS8服务器进阶》系列的第八篇,稍后还会持续更新该系列的文章,旨在为您解决开发中遇到的疑难杂症。

  导读:

  尊敬的读者朋友,请您带着问题去阅读这篇文章,因为我想分享给你的是应对问题的方法,而不仅仅局限于解决问题的步骤。本文是《CentOS8服务器进阶》系列的第八篇,稍后还会持续更新该系列的文章,旨在为您解决开发中遇到的疑难杂症。

  往期博文地址:

  CentOS8服务器入门系列教程(一):centOS8的安装、配置、连接,最大程度贴近企业应用

  CentOS8服务器入门系列教程(二):IDEA入门到企业级应用

  CentOS8服务器入门系列教程(三):centOS8破解root密码

  CentOS8服务器入门系列教程(四):解读Linux的三种防火墙

  CentOS8服务器入门系列教程(五):Linux挂载光盘、yum安装软件包

  CentOS8服务器入门系列教程(六):Linux服务器网络通信

  CentOS8服务器入门系列教程(七):SSH远程口令操作详解

  CentOS8服务器入门系列教程(八):SSH远程密钥登录详解

  一、实验环境

  1、Windows10电脑

  2、vmware虚拟机 

  3、centOS8服务器

  4、cmder软件

  二、问题思考

  【问题A】上一期分享中,我们分享了SSH远程口令操作,也就是账号密码登录,那Linux中有没有像APP一样免密登录呢?

  【问题B】配置了免密登录,但是每次还要输入IP地址以及用户名,好麻烦,怎么办?

  三、解决措施

  学习的时候,多想一想身边实实际际发生的例子,会让你的学习事半功倍,比如SSH远程操作口令,读者朋友们不要把它想的太神秘,所谓远程操作口令就跟我们平时远程用账号密码登录QQ一样简单;那么远程密钥登录又是什么样呢?也很简单,跟大家平时在电脑上免密登录QQ一样,只要你登录时勾选了【记住密码】功能,下一次登录时就不用输入账号密码。

  1.所以有了上述的铺垫,我们先解决【问题A】,Linux中也有所谓的免密登录,专业术语叫做【密钥登录】,密钥登录的原理概括起来有以下三点:

  (1)在客户端,用ssh-keygen.exe软件,生成一个公钥和一个私钥,相当于保险柜和钥匙。

  (2)将公钥放在服务器的特定目录下,好比把保险柜放在服务器中。

  (3)下次登录请求后,服务器把公钥返回给客户端,如果正确解密,就可以登录,相当于服务器把保险柜给你,要是用你的钥匙可以打开保险柜,那么你就可以登录。

  所以我们按照上述原理一步步实现免密登录,首先打开cmder软件,没有该软件的读者朋友可到【https://cmder.net/】地址下载,打开后使用命令【ssh-keygen -t rsa】生成公钥和密钥,输入命令后按四次回车即可,注意下图中红色方框部分为密钥保存路径。

  #在客户端生成密钥和公钥

  ssh-keygen-t rsa

SSH远程密钥登录详解

  登录服务器,创建一个存放保险柜(公钥)的地方,在cmder中使用命令【ssh root@192.168.43.245】命令登录,root是我的用户名,后面的IP地址是我自己服务器的IP地址,读者朋友敲命令时请记得换成自己的,注意此时我还需要密码才能登录,如图

SSH远程密钥登录详解

  登录服务器后创建目录【.ssh】,命令如下

  #创建目录

  mkdir/root/.ssh

  #切换到root目录下

  cd/root

  #查看

  .ssh文件夹 ls-a

  下一步,需要把公钥传输到服务器的【/root/.ssh/】目录下,在cmder中输入命令【 scp C:\Users\Dell.ssh\id_rsa.pub root@192.168.43.245:/root/.ssh】,命令分为三部分,第一部分是我自己电脑中公钥的位置,第二部分是登录服务器的用户名和IP地址,第三部分服务器保存公钥的目录,如图

SSH远程密钥登录详解

  下一步,登录服务器,将刚刚传输的公钥改名为【authorized_keys】,命令为【mv id_rsa.pub authorized_keys】,再次使用cmder软件登陆服务器,就可以免密登录,如图

SSH远程密钥登录详解

  在解决【问题A】的基础上,我们可以继续优化,使用别名登录。在cmder中切换到公钥目录下,创建config配置文件,如图

SSH远程密钥登录详解

  Host  xzxz

  HostName 192.168.43.245

  Port  22

  User  root

  IdentityFile  c:\Users\Dell\.ssh\id_rsa

  保存配置文件后,用别名登录服务器,如图

SSH远程密钥登录详解

  四、总结

  要理解Linux的SSH密钥登录,可以从身边的例子入手,免密登录QQ就是一个活生生的例子。密钥和公钥也很好理解,密钥就相当于你自己的钥匙,私有的;公钥就相当于保险柜,只有你自己的钥匙才能打开你的保险柜。所以读者朋友们在运营Linux时千万不能泄露你的私钥哟。

  五、资料分享

  (1)《阿里巴巴Java开发手册》终极版 链接:链接:

  https://pan.baidu.com/s/1Bnb-VQShK5rBcC0rM1NrBA 提取码: fta6

  (2)《阿里巴巴Java开发手册》书籍版 链接:链接:

  https://pan.baidu.com/s/1lYTaNfz34XnrszB1D49tww 提取码: gt9t

  一如既往,期待您的真知灼见…,centOS8系列文章以及面试大厂必备编程资料将为大家持续更新,点赞、转发,将知识传播出去。如资料获取失败或对文中内容有所疑惑,请在评论区留言。 如果发现错误的地方,可以的话麻烦指点下,特别感谢!

  原文链接:https://www.jianshu.com/p/cfd7f16e2009

相关文章

站点信息