0,集群内一台主机的/root/.ssh/authorized_keys保存了除自己外所有主机的公钥,把这个文件复制到远程主机的/root/.ssh/authorized_keys文件里,另外再把自己的公钥文件追加到远程主机的
/root/.ssh/authorized_keys文件里,再获取远程主机的公钥字符串,追加到集群内所有主机的/root/.ssh/authorized_keys文件里即可完成免密。
1,首先集群内的一台主机知道新加入的节点的root密码,它会登录到新加入的主机并执行命令,这个登录并执行命令的过程必须在一个会话session里完成,
也就是说登录并执行一条命令是连在一起的,不能分开,下面的代码手工可以执行,但实际程序不在一个不能执行。
2,使用sshpass就可以连接远程主机并在远程主机里执行一条或多条命令。
执行一条命令: sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} 'rm -rf /tmp/test'。
执行多条命令:sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} 'cat /tmp/test && rm -rf /tmp/test'。