Linux多环境间添加信任关系的方式
项目上的开发和测试Linux环境非常多,少则数十多则上百,实际工作中实在懒得来回登录或打开各个环境,最好的方案就是给内网环境间添加一下信任关系,便于快速在环境之间切换,免去输入密码的烦恼
信任关系
两个不同的环境之间建立信任关系后,通过 ssh 命令可以免密码切换到对方环境中去
尤其在做批量自动化时非常实用,可以设立某个环境为 agent(执行机),利用 ssh/scp 完成远程指令执行或者按照升级包的快速投放
对于对公网开放的环境一般不要随便添加远程信任关系,是很危险的操作
本文主要适用于内网环境间的快速访问,下面是完整流程与偷懒流程
完整流程
- 以 mebugs 用户登录 10.10.10.10
mkdir .ssh
建立.ssh 目录
如果系统显示 mkdir: cannot create directory .ssh: File exists
表示目录.ssh 已经创建,则不需要重新创建cd .ssh
进入.ssh 目录ssh-keygen -t rsa -b 2048
建立公钥
提示输入信息的地方,按回车即可cp id_rsa.pub id_rsa1.pub
生成的文件 id_rsa.pub 复制一份为 id_rsa1.pub ,用以区分不同用户的密钥sftp [email protected]
将 id_rsa1.pub 上传到(sftp 上传)mebugs 用户所在的.ssh 目录下mkdir .ssh
同上,有就无所谓。cd .ssh
进入.ssh 目录put id_rsa1.pub
上传公钥quit
ssh [email protected]
远程登录,此时无信任关系需要输入密码。cd .ssh
进入.ssh 目录cat id_rsa1.pub >> authorized_keys
追加公钥到 authorized_keys 文件- 如果需要添加双向信任关系
在 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 文件里面
完成...
- 同时登录 10.10.10.10 的 mebugs 用户与 10.10.10.20 的 mebugs 用户
- 分别进入两个用户的 cd .ssh
- vi id_rsa.pub 打开 id_rsa.pup 文件,全文 Copy
- vi authorized_keys 打开另一个环境的 authorized_keys,粘进去
- 反向操作 3/4 两步,如果不反向操作就是单向信任关系,互加了就是双向的。
偷懒流程缺陷?
哦!会有一些重复的垃圾数据以及不必要的信任关系,不建议(大力推荐)大家这么玩儿~
不必要的信任关系:
- 比如 10 和 30 有信任关系
- 20 不需要和 30 有信任关系
- 但是 20 拷贝了 10 的内容
- 20 有了 30 的单向信任关系
信任关系检查
在 10.10.10.10 的 mebugs 用户下
ssh [email protected]
按下回车:如果不用输入密码直接登陆进去,说明信任关系加入成功
