<返回更多

SSH免密脚本的编写

2019-10-08    
加入收藏

用最简单易懂的话,说最难的知识点!

大家好,我是菜鸟程序员Chivalry,今天要和大家分享的是如何编写免密脚本,在前两篇文章中介绍了SSH登录以及免密登录的原理,想了解的小伙伴欢迎查看。

为了照顾基础薄弱的小伙伴,我打算从头详细讲解一下SSH相关的知识点。

(1)SSH是一种加密的网络传输协议,提供安全的数据传输服务。一般用ssh-genkey生成生成公钥和密钥,这两个文件会默认保存在~/.ssh/路径下。常用的参数为:

如下图所示:

SSH三部曲之三详细介绍SSH免密脚本的编写

公钥和私钥

其中:

id_rsa是私钥文件

id_rsa.pub是公钥文件

authorized_keys用于存放客户端公钥的文件

known_hosts是确认过公钥指纹的可信服务器列表的文件

当主机作为服务器时,有客户端连接时,则将客户端的公钥放在authorized_keys中;当主机作为客户端时,则将访问过得主机的公钥放在known_hosts中,也就是说ssh会将每个访问过的主机公钥(public key)都存放在~/.ssh/known_hosts中。

(2)再来说一下什么是公钥检查

当我们第一次连接远程主机时,会弹出该主机的公钥摘要,询问我们是否信任该主机,如下图所示:

SSH三部曲之三详细介绍SSH免密脚本的编写

远程主机公钥摘要

输入yes,该主机公钥摘要就会被记录在本机的~/.ssh/known_hosts中。

很多时候我们并不需要公钥摘要确认,那可以使用:

ssh -o StrictHostKeyChecking=no remote_host_ip

(3)好了,知道了上面的基础知识点,我们就可以写免密脚本了。如下图所示:

SSH三部曲之三详细介绍SSH免密脚本的编写

免密脚本

后续我会推出更多关于shell脚本内容的文章,欢迎喜欢的小伙伴订阅收藏!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>