美文网首页
2018-01-28 ssh免密登录

2018-01-28 ssh免密登录

作者: 苏林欣 | 来源:发表于2018-01-28 15:02 被阅读0次

    节点均为centOS7系统,进行ssh免密登录操作

    假设想从node1免密登录到node2,node3

    一、生成公钥私钥

    1.首先要生成node1、node2、node3的公钥私钥,在每个服务器的终端中输入如下命令

    $ ssh-keygen -t rsa

    1.1若之前没用公钥会出现如下结果:

    这是之前没有公钥私钥的运行结果图

    第二行打印 Enter file in ... (/root/.ssh/id_rsa):

    以及第三第四行,冒号后面,直接按enter键即可。


    1.2若之前有公钥私钥

    以上是没有公钥私钥需要新生成的时候的操作,接下来说一下如果有了公钥私钥,其他节点设置过了,现在不想全部重写覆盖,想在原来的基础上追加的话,需要再怎么办:

    如果已经有了公钥私钥,会提示already exist.如图所示:

    不覆盖之前的公钥私钥

    如果你想重新设置,则下面问overwrite(y/n) 时,输入y;如果只是想追加,则选择n即可,这样就不会更改你之前生成的。

    同样上面第二行直接按enter键就好

    二、将公钥私钥拷贝到想要免密登录到其他节点的节点上

    1.进入 .ssh 目录查看已经生成的公私钥

    $ cd .ssh

    其中id_rsa.pub就是生成的公钥,id_rsa为私钥

    2.接下来将当前节点(node2,node3)的公钥拷贝到想要免密登录的节点(node1)上并重命名

    scp id_rsa.pub root@211.0.0.1:.ssh/id_rsa_5.pub

    这个命令是把当前节点的公钥拷贝到211.0.0.1节点的.ssh目录下,并改名为id_rsa_5.pub

    scp命令详解请点击这

    示例如下:

    将公钥拷贝到其他节点的操作

    中间自己输入密码就好。

    其中,如果登录时遇到问题如图:

    登录时遇到的问题

    解决办法戳这里

    将node2、node3的公钥拷贝到node1上

    三、将自己的公钥和复制过来的公钥添加到authorized_keys文件中

    使用cat命令

    $ cat id_rsa.pub >> authorized_keys

    $ cat id_rsa_2.pub >> authorized_keys

    $ cat id_rsa_3.pub >> authorized_keys

    四、将node1已经添加好公钥的authorized_keys文件拷贝到node2,node3的.ssh目录下

    这个过程可以重命名一下,或者自己按照自己喜欢的方式把公钥拷贝到对应的节点上,不一定非要懂放在authorized_keys文件中,只要最后公钥添加到对应节点的authorized_keys中就好,而且直接从其他节点拷贝来的authorized_keys替换掉的话也有隐患,说不得把之前设置的都覆盖了,如果之前从来没设置过,那就好说了,我这里就是想在原来的基础上追加,所以尽可能的不要把原来的authorized_keys文件替换掉,故拷贝的时候,也重命名了,还是用cat的方式把公钥添加到已有的authorized_keys上,而不是替换

    示例如图:

    authorized_keys文件拷贝

    五、验证一下是否成功即可


    如果是在之前从未设置过公钥私钥的节点上的话,推荐这个链接教程

    相关文章

      网友评论

          本文标题:2018-01-28 ssh免密登录

          本文链接:https://www.haomeiwen.com/subject/iviaaxtx.html