使用Ansible可实现多台服务器之间免密登录
前提:安装Ansible在指定服务器上运行以下命令以安装Ansible:
yum -y install epel-release && yum -y install ansible
第一步:生成SSH密钥对在该服务器上执行以下命令创建密钥对:
ssh-keygen
第二步:配置密钥权限复制公钥为authorized_keys并设置600权限:
cp id_rsa.pub authorized_keys && chmod 600 authorized_keys
第三步:配置Ansible以跳过SSH指纹验证在/etc/ansible/ansible.cfg文件中编辑以下内容,确保SSH不会在首次连接时请求指纹验证:host_key_checking = False
第四步:设置Ansible的主机清单文件编辑/etc/ansible/hosts,添加一个名为web的组,并列出要连接的服务器的IP、用户和密码:
[web] 192.168.x.x ansible_ssh_user=root ansible_ssh_pass=your_password第五步:批量创建远程服务器的.ssh目录并设置权限运行Ansible命令,在所有Web服务器上创建.ssh目录并配置正确的权限:
ansible web -m file -a "path=/root/.ssh state=directory mode=0700"
第六步:批量复制authorized_keys到远端服务器借助Ansible, 将本地的authorized_keys文件复制到远端服务器的/root/.ssh/目录,并设置权限:
ansible web -m copy -a "src=/root/.ssh/authorized_keys dest=/root/.ssh mode=0600"
第七步:将私钥id_rsa复制到远端服务器将私钥文件也复制到服务器的/root/.ssh/目录下,并严格设置权限:
ansible web -m copy -a "src=/root/.ssh/id_rsa dest=/root/.ssh mode=0600"
完成以上步骤后,测试SSH连接,确认无密码即可登录到所有配置的服务器。网友回复
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?