Linux多环境间信任关系添加的完整与偷懒流程

项目上的开发和测试环境非常多,少则数十多则上百,实际工作中实在懒得来回登录或打开各个环境,最好的方案就是给内网环境间添加一下信任关系,便于快速在环境之间切换,免去输入密码的烦恼

Linux多环境间信任关系添加的完整与偷懒流程

所属分类: Linux
专题标签: SSH 公钥 环境

信任关系的作用

两个不同的环境之间建立信任关系后,通过ssh命令可以免密码切换到对方环境中去
尤其在做批量自动化时非常实用,可以设立某个环境为agent(执行机),利用ssh/scp完成远程指令执行或者按照升级包的快速投放
对于对公网开放的环境一般不要随便添加远程信任关系,是很危险的操作
本文主要适用于内网环境间的快速访问,下面是完整流程与偷懒流程

完整流程

  1. 以mebugs用户登录10.10.10.10
  2. mkdir .ssh
    建立.ssh目录
    如果系统显示mkdir: cannot create directory .ssh: File exists
    表示目录.ssh已经创建,则不需要重新创建
  3. cd .ssh
    进入.ssh目录
  4. ssh-keygen -t rsa -b 2048
    建立公钥
    提示输入信息的地方,按回车即可
  5. cp id_rsa.pub id_rsa1.pub
    生成的文件id_rsa.pub复制一份为id_rsa1.pub ,用以区分不同用户的密钥
  6. sftp mebugs@10.10.10.20
    将id_rsa1.pub上传到(sftp上传)mebugs用户所在的.ssh目录下
    1. mkdir .ssh
      同上,有就无所谓。
    2. cd .ssh
      进入.ssh目录
    3. put id_rsa1.pub
      上传公钥
    4. quit
  7. ssh mebugs@10.10.10.20
    远程登录,此时无信任关系需要输入密码。
  8. cd .ssh
    进入.ssh目录
  9. cat id_rsa1.pub >> authorized_keys
    追加公钥到authorized_keys文件
  10. 如果需要添加双向信任关系
    在10.10.10.20下执行4-9步,将目标地址变成10.10.10.10的用户

偷懒流程

举例10.10.10.10的mebugs用户与10.10.10.20的mebugs用户

  • 把10的mebugs用户的rsa.pub文件内容拷贝到20的mebugs用户的authorized_keys文件里面
  • 把20的mebugs用户的rsa.pub文件内容拷贝进10的mebugs用户的authorized_keys文件里面

完成…

  1. 同时登录10.10.10.10的mebugs用户与10.10.10.20的mebugs用户
  2. 分别进入两个用户的cd .ssh
  3. vi id_rsa.pub 打开id_rsa.pup文件,全文Copy
  4. vi authorized_keys 打开另一个环境的authorized_keys,粘进去
  5. 反向操作3/4两步,如果不反向操作就是单向信任关系,互加了就是双向的。

偷懒流程缺陷?
哦~会有一些重复的垃圾数据以及不必要的信任关系,不建议(大力推荐)大家这么玩儿~
不必要的信任关系:

  1. 比如1030有信任关系
  2. 20不需要和30有信任关系
  3. 但是20拷贝了10的内容
  4. 20有了30的单向信任关系

信任关系检查

在10.10.10.10的mebugs用户下

  1. ssh mebugs@10.10.10.20

按下回车:如果不用输入密码直接登陆进去,说明信任关系加入成功