ansible 的 remote_user 和 become_user 有什么区别
What is the difference between ansible's remote_user & become_user
我需要了解 ansible 的 remote_user 和 become_user 之间的区别,因为该游戏将 运行 在本地或远程进行。
两者之间的差异:
- hosts: all
become: yes
become_user: user1
- hosts: all
remote_user: user1
如果在服务器之间设置 ssh 密钥,会有什么不同吗?
我试图 google 找出不同之处,但没有找到任何好的解释。
没有区别
- hosts: all
become: yes
become_user: user1
- hosts: all
remote_user: user1
become: no
在 1) 权限提升和 2) 连接到 user1@host 之后,user1 的 environment 设置可能有所不同。
在大多数情况下,become_user 是 root,但最好不要让 ssh 成为 root。因此,在大多数情况下,需要两个步骤 1) 连接到 remote_user@host 和 2) 将权限升级到 root。
回答你的问题
Will there be any difference in case ssh keys are setup between the servers?
应该有一个 public 授权 ssh 到 remote_user: user1 的密钥。升级 become_user: user1 在 ssh 到 remote_user: user1 之后没有意义。因此,是的,可能存在差异(如果 public 密钥分发给所有 remote_user 和 become_user,则不一定如此)。
become_user表示将执行剧本的用户,远程用户将在远程服务器上执行。
become: yes 默认情况下会自动执行 sudo 到 root。但是后来你告诉它 remote_user: deployer 告诉服务器登录的用户是 deployer 并且在他们登录后执行默认的 sudo。
有稳定的差异:
- become:yes =。使用 sudo 并默认为 root
- become_user: user1 = 使用来自 become:yes 的 sudo 并成为用户 user1。
- remote_user: user1 = 在该远程服务器上以 foofoo 身份登录。
我需要了解 ansible 的 remote_user 和 become_user 之间的区别,因为该游戏将 运行 在本地或远程进行。
两者之间的差异:
- hosts: all
become: yes
become_user: user1
- hosts: all
remote_user: user1
如果在服务器之间设置 ssh 密钥,会有什么不同吗?
我试图 google 找出不同之处,但没有找到任何好的解释。
- hosts: all
become: yes
become_user: user1
- hosts: all
remote_user: user1
become: no
在 1) 权限提升和 2) 连接到 user1@host 之后,user1 的 environment 设置可能有所不同。
在大多数情况下,become_user 是 root,但最好不要让 ssh 成为 root。因此,在大多数情况下,需要两个步骤 1) 连接到 remote_user@host 和 2) 将权限升级到 root。
回答你的问题
Will there be any difference in case ssh keys are setup between the servers?
应该有一个 public 授权 ssh 到 remote_user: user1 的密钥。升级 become_user: user1 在 ssh 到 remote_user: user1 之后没有意义。因此,是的,可能存在差异(如果 public 密钥分发给所有 remote_user 和 become_user,则不一定如此)。
become_user表示将执行剧本的用户,远程用户将在远程服务器上执行。
become: yes 默认情况下会自动执行 sudo 到 root。但是后来你告诉它 remote_user: deployer 告诉服务器登录的用户是 deployer 并且在他们登录后执行默认的 sudo。
有稳定的差异:
- become:yes =。使用 sudo 并默认为 root
- become_user: user1 = 使用来自 become:yes 的 sudo 并成为用户 user1。
- remote_user: user1 = 在该远程服务器上以 foofoo 身份登录。