概要描述
在安装manager过程中会创建transwarp用户,并且配置sudo免密,还有manager节点到其他所有agent节点的免密登录;
该用户在manager升级、跑巡检工具的时候会使用到;
许多对安全性要求高的客户会在安装完集群之后删除掉这个用户,这不会影响到集群正常使用,但是升级时候环境检查会报错;
因为升级脚本默认使用这个参数
详细说明
手动创建transwarp用户
添加方法就是adduser transwarp命令
唯一需要注意的是添加完成之后需要配置sudo免密
方法是在/etc/sudoers文件中添加一行:
验证:
切换到transwarp用户,执行命令时候加上sudo之后不需要输入密码就表示成功。
[root@idc-8-15 transwarp]# su transwarp
[transwarp@idc-8-15 ~]$
注: 集群中所有节点都要有transwarp用户
免密登录配置与验证方法
以下都是在manager节点执行
使用transwarp用户执行
ssh-keygen -t rsa -f "/etc/transwarp/transwarp-id_rsa" -N ''
注:(最后是两个单引号,中间没有空格)
然后使用root用户执行
ssh-copy-id -i /etc/transwarp/transwarp-id_rsa transwarp@节点的hostname (要拷贝到所有节点上)
Ps: manager没有对transwarp用户做初始的密码,如果提示需要transwarp密码,可以直接用root用户去修改
如果manager做了HA,那么每个HA节点都要做上面两步
免密登录验证方法: 执行下面的语句不需要输入密码说明成功
ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -i $RSA "$USER@$host" ‘true’
比如:
ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -i /etc/transwarp/transwarp-id_rsa "transwarp@linux-4-23"
注:正常的集群,在安装之后就应该做过了transwarp用户的免密,也就是上面的命令默认是可以执行的,不能执行说明是有问题的
关于使用什么用户生成秘钥
具体来说是用transwarp生成公钥 用root拷贝公钥,版本5.X跟6.X中Manager就是这么做的,版本4中用的全是root
然而,似乎在一些6.X集群中也都是用的root用户,有些混乱,但是按照上面的要求是肯定可以成功的,所以本文档就不整理其他方法了。
常见问题
秘钥文件跟目录所属用户不对
如果按照上面的方法操作之后还是无法解决免密问题,可以排查下/etc/transwarp/transwarp-id_rsa跟 transwarp-id_rsa.pub 用户和组是否正确,以及在 /etc/transwarp/ 目录中执行 ll -a 查看所有者和组,还有权限设置;
包括/etc/transwarp/ 这个目录本身的所属默认应该是 transwarp:root ,还有权限设置;
还有/home/transwarp/.ssh authorized_keys 文件内容以及所属、权限;
transwarp用户有问题
可以尝试删除transwarp用户然后重新添加