CentOS8服务器进阶(八)SSH远程密钥登录详解

导读:

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

一、实验环境

1.Windows10电脑
2.Vmware虚拟机
3.CentOS8服务器
4.cmder软件

二、问题思考

【问题A】上一期分享中,我们分享了SSH远程口令操作,也就是账号密码登录,那Linux中有没有像APP一样免密登录呢?
【问题B】配置了免密登录,但是每次还要输入IP地址以及用户名,好麻烦,怎么办?
三、解决措施
学习的时候,多想一想身边实实际际发生的例子,会让你的学习事半功倍,比如SSH远程操作口令,读者朋友们不要把它想的太神秘,所谓远程操作口令就跟我们平时远程用账号密码登录QQ一样简单;那么远程密钥登录又是什么样呢?也很简单,跟大家平时在电脑上免密登录QQ一样,只要你登录时勾选了【记住密码】功能,下一次登录时就不用输入账号密码。

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

  • 在客户端,用ssh-keygen.exe软件,生成一个公钥和一个私钥,相当于保险柜和钥匙。
  • 将公钥放在服务器的特定目录下,好比把保险柜放在服务器中。
  • 下次登录请求后,服务器把公钥返回给客户端,如果正确解密,就可以登录,相当于服务器把保险柜给你,要是用你的钥匙可以打开保险柜,那么你就可以登录。

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

#在客户端生成密钥和公钥
ssh-keygen -t rsa

CentOS8服务器进阶(八)SSH远程密钥登录详解_第1张图片

登录服务器,创建一个存放保险柜(公钥)的地方,在cmder中使用命令【ssh [email protected]】命令登录,root是我的用户名,后面的IP地址是我自己服务器的IP地址,读者朋友敲命令时请记得换成自己的,注意此时我还需要密码才能登录,如图
CentOS8服务器进阶(八)SSH远程密钥登录详解_第2张图片
登录服务器后创建目录【.ssh】,命令如下

 #创建目录
 mkdir /root/.ssh
 #切换到root目录下
 cd /root
 #查看.ssh文件夹
 ls -a

下一步,需要把公钥传输到服务器的【/root/.ssh/】目录下,在cmder中输入命令【 scp C:\Users\Dell.ssh\id_rsa.pub [email protected]:/root/.ssh】,命令分为三部分,第一部分是我自己电脑中公钥的位置,第二部分是登录服务器的用户名和IP地址,第三部分服务器保存公钥的目录,如图
CentOS8服务器进阶(八)SSH远程密钥登录详解_第3张图片
下一步,登录服务器,将刚刚传输的公钥改名为【authorized_keys】,命令为【mv id_rsa.pub authorized_keys】,再次使用cmder软件登陆服务器,就可以免密登录,如图
CentOS8服务器进阶(八)SSH远程密钥登录详解_第4张图片
在解决【问题A】的基础上,我们可以继续优化,使用别名登录。在cmder中切换到公钥目录下,创建config配置文件,如图
CentOS8服务器进阶(八)SSH远程密钥登录详解_第5张图片

Host xzxz
HostName 192.168.43.245
Port 22
User root
IdentityFile c:\Users\Dell\.ssh\id_rsa

保存配置文件后,用别名登录服务器,如图
CentOS8服务器进阶(八)SSH远程密钥登录详解_第6张图片

四、总结

要理解Linux的 SSH密钥登录,可以从身边的例子入手,免密登录QQ就是一个活生生的例子。密钥和公钥也很好理解,密钥就相当于你自己的钥匙,私有的;公钥就相当于保险柜,只有你自己的钥匙才能打开你的保险柜。所以读者朋友们在运营Linux时千万不能泄露你的私钥哟。
五、资料分享
(1)《阿里巴巴Java开发手册》终极版 链接:链接:
https://pan.baidu.com/s/1Bnb-VQShK5rBcC0rM1NrBA 提取码: fta6

(2)《阿里巴巴Java开发手册》书籍版 链接:链接:
https://pan.baidu.com/s/1lYTaNfz34XnrszB1D49tww 提取码: gt9t

一如既往,期待您的真知灼见…,centOS8系列文章以及面试大厂必备编程资料将为大家持续更新,点赞、转发,将知识传播出去。如资料获取失败或对文中内容有所疑惑,请在评论区留言或私信。 如果发现错误的地方,可以的话麻烦指点下,特别感谢!
CentOS8服务器进阶(八)SSH远程密钥登录详解_第7张图片

你可能感兴趣的:(java)