前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ansible自动化运维工具常规记录

Ansible自动化运维工具常规记录

作者头像
全栈工程师修炼指南
发布2022-09-29 19:42:48
4490
发布2022-09-29 19:42:48
举报
文章被收录于专栏:全栈工程师修炼之路

[TOC]

0x00 入坑出坑

1.Ansible 如何切换用户建立SSH并使用sudo权限执行程序。

描述: 在使用Ansible往往赋予其低权限用户, 假如由于项目需求,需要使用ansible在控制节点以root身份运行playbook,并在playbook中调用其他程序操作/etc下的文件,所以该程序需要使用sudo或者root权限运行,我们应该如何配置。

操作步骤:

代码语言:javascript
复制
# 1.客户端-生成ssh公密钥
# 【注:切换到建立ssh连接的用户weiyigeek运行: su weiyigeek,因为该认证文件只适用于本用户weiyigeek与其他用户的ssh连接认证】
ssh-keygen

# 2.拷贝ssh公钥到被控制机器节点
ssh-copy-id -i ~/.ssh/id_rsa.pub weiyigeek@xx.xx.xx.xx

# 3.客户端-在root用户的环境中运行之前建好的test.yml文件
ansible-playbook test.yml --user=weiyigeek --private-key=/home/weiyigeek/.ssh/id_rsa -s 
# 参数说明: 
# --user=weiyigeek 表示使用weiyigeek与被控节点的weiyigeek建立ssh连接。
# --private-key表示ssh使用的认证文件。
# -s 表示在连接到被控制机器节点后使用weiyigeek 的sudo权限运行test.yml中的命令。

温馨提示: ansible 输入 weiyigeek 用户的sudo密码有两种配置方式,一种是在命令行中添加--ask-sudo-pass, 另外一种则是在ansible的配置文件/etc/ansible/hosts中配置sudo密码。

代码语言:javascript
复制
# 此处采用第二种方式
[node-1]
192.168.1.108 ansible_user='WeiyiGeek' ansible_sudo_pass='123456'

[node-2]
192.168.1.107 ansible_sudo_pass='123456'

温馨提示: 可能会遇到的问题,在拷贝玩ssh文件到被控制主机后,第一次运行会出现检查keys的对话,导致ssh连接失败,如下所示, 所以为了解决该问题我们可以在ansible的默认配置文件/etc/ansible/ansible.cfg中, 添加如下语句即可 host_key_checking = False.

代码语言:javascript
复制
The authenticity of host '192.168.0.5 (192.168.0.5)' can\'t be established.
ECDSA key fingerprint is 05:51:e5:c4:d4:66:9b:af:5b:c9:ba:e9:e6:a4:2b:fe.
Are you sure you want to continue connecting (yes/no)?
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 入坑出坑
    • 1.Ansible 如何切换用户建立SSH并使用sudo权限执行程序。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档