实现Linux免密钥登陆

我们在一台Linux机器上利用SSH登陆其他Linux机器时,需要我们输入PassWord,以及搭建集群时,节点之间相互通信,都需要输入PassWord。第一,长时间SSH登陆需要反复输入密码;第二,集群之间通信需要自动化。这时,免密钥登陆就显得尤为重要,接下来我们将要介绍如何设置免密钥登陆。

我们以3台Linux机器为例说明免密钥登陆的步骤,以此类推,可以扩展到n台Linux机器中。
3台主机的用户名、主机名为:
shaomingliang@xcloud162
shaomingliang@xcloud163
shaomingliang@xcloud164

设置步骤

第一步骤:对每台机器运行ssh-keygen -t rsa指令

这条命令可以在任意路径下运行,其目的在/home/shaomingliang/.ssh路径下生成私钥和公钥(分别为id_rsa、id_rsa.pub),我们只使用id_rsa.pub做免密钥登陆。

这里写图片描述

这里写图片描述

这里写图片描述

第二步骤:对每台机器运行ssh-copy-id shaomingliang@xcloud162指令

运行这条命令会把当前机器上的id_rsa.pub内容拷贝到xcloud162机器下/home/shaomingliang/.ssh/authorized_keys文件里。

这里写图片描述

这里写图片描述

这里写图片描述

正常情况下执行此指令会正常把3台机器上的id_rsa.pub内容拷贝到xcloud162机器上的authorized_keys文件中,但是在我这里报错了,不能正常进行拷贝,解决办法就是我们自己人工把id_rsa.pub内容拷贝到xcloud162机器上的authorized_keys中。

下图为执行完此指令后,在authorized_keys文件中的内容。
这里写图片描述

第三步骤:在xcloud162机器上执行scp authorized_keys shaomingliang@xcloud163 (xcloud164):~/.ssh指令

在/home/shaomingliang/.ssh目录下运行此指令,把xcloud162机器上的authorized_keys文件分发到xcloud163和xcloud164机器上,如下图所示。

这里写图片描述
notice:括号中为另外的主机名。

到此为止,整个配置过程已经完成,现在让我们享受一下免密钥登陆的便利。

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章