自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Ansible 中輕松實現(xiàn)復雜 SSH 跳轉?這個參數(shù)搞定

網(wǎng)絡
通過ansible_ssh_common_args?,我們可以在Ansible?中輕松實現(xiàn)復雜的SSH配置,包括多級跳板機跳轉等。

在日常的運維工作中,我們經(jīng)常會遇到需要通過跳板機來訪問目標主機的情況。那么,如何高效地配置Ansible以支持多級跳轉或復雜的 SSH 設置呢?ansible_ssh_common_args 提供了一個非常靈活的解決方案。在這篇文章中,我們將詳細探討它的功能,并通過一些實際案例來幫助你快速上手。希望這些內(nèi)容能對你有所幫助!

什么是ansible_ssh_common_args

ansible_ssh_common_args是Ansible中用于定義SSH額外參數(shù)的變量。這些參數(shù)會在Ansible執(zhí)行任務時傳遞給底層的ssh命令,從而實現(xiàn)定制化的連接配置。

常見用途:

  • 實現(xiàn)跳板機連接。
  • 提供給ssh、sftp、scp命令的額外參數(shù)
  • 調(diào)試SSH連接或指定特定的密鑰文件。

基本語法和配置

ansible_ssh_common_args的值必須符合SSH的參數(shù)格式,例如-o選項。

定義方式:

① 在hosts清單中配置:

[target]
target_host ansible_host=192.168.2.101 ansible_ssh_common_args='-o ProxyCommand="sshpass -p password ssh  -W %h:%p -q  user@192.168.1.100"'

參數(shù)含義:

  • target_host: 主機組中的主機別名。
  • ansible_host: 指定目標主機的實際IP地址。
  • ansible_ssh_common_args:定義了Ansible在SSH連接時使用的額外參數(shù) 。
  • ProxyCommand 是SSH的一個選項,表示通過代理命令來處理連接。
  • sshpass: 是一個工具,用于通過明文密碼非交互式地登錄SSH。
  •  -W %h:%p : 將目標主機的地址%h和端口%p直接轉發(fā)到跳板機 。
  • -q:靜默模式,禁止顯示SSH的警告信息。

② 在Playbook中定義:

- name:UseProxyJumptoaccesstargethost
hosts:all
vars:
    ansible_ssh_common_args:'-o ProxyCommand="sshpass -p password ssh  -W %h:%p -q  user@192.168.1.100"'
tasks:
    -name:Pingtargethost
      ping:

③ 在ansible.cfg配置文件中全局定義:

[ssh_connection]
ssh_args = -o ProxyCommand="sshpass -p password ssh  -W %h:%p -q  user@192.168.1.100"

實戰(zhàn)案例:實現(xiàn)復雜SSH跳轉

場景描述

我們有以下需求:

  • 通過跳板機 192.168.1.253 訪問目標主機 192.168.31.101。
  • 跳板機和目標主機的用戶名和密碼均不同。
  • 未設置免密登錄,需要提供密碼。

案例 1:單級跳轉

通過跳板機訪問目標主機:

[target]
target_host ansible_host=192.168.31.101 ansible_ssh_pass="didiplus558" ansible_ssh_common_args='-o ProxyCommand="sshpass -p  password ssh  -W %h:%p -q  root@192.168.1.253"'

運行命令:

ansible target_hosts -m ping -i hosts

運行成功如下圖所示:

案例 2:多級跳轉

需要通過兩級跳板機連接目標主機:

  • 第一跳:通過 192.168.1.252。
  • 第二跳:通過 192.168.1.253。

配置文件:

[target_hosts]
host1 ansible_host=192.168.31.101 ansible_ssh_pass="password" ansible_ssh_common_args='-o ProxyCommand="sshpass -p  password ssh  -W %h:%p -q didiplus@192.168.1.252 -o ProxyCommand=\"sshpass -p  password ssh  -W %h:%p -q root@192.168.1.253\""'

運行命令:

ansible target_hosts -m ping -i hosts

ProxyCommand 實現(xiàn)了兩級跳轉,內(nèi)嵌的ssh命令依次通過兩個跳板機轉發(fā)到目標主機。

總結

通過ansible_ssh_common_args,我們可以在Ansible中輕松實現(xiàn)復雜的SSH配置,包括多級跳板機跳轉等。結合實際場景的靈活應用,可以大幅提升運維效率。希望通過本文的案例,你能熟練掌握該參數(shù)的使用,為日常工作帶來更多便利!

責任編輯:趙寧寧 來源: 攻城獅成長日記
相關推薦

2024-04-01 00:00:00

AnsibleJenkins應用程序

2020-06-18 09:10:10

開源技術 Nginx

2019-05-14 11:00:07

LinuxSSH別名

2024-11-19 15:43:22

2018-03-09 09:45:52

LinuxSSH登錄導語

2016-05-16 09:56:01

2020-09-07 15:46:48

GitHubVim開發(fā)

2009-08-17 08:45:34

Windows 7文件刪除

2019-07-26 15:10:49

Windows 10屏幕緩存Windows

2010-09-26 09:57:41

2022-09-29 10:51:18

ShellLinux命令審計

2018-10-08 09:35:59

2009-12-11 15:37:58

Linux日志處理

2017-05-11 15:01:43

Androidweb布局

2022-09-16 08:04:25

阿里云權限網(wǎng)絡

2023-10-20 12:45:00

AI數(shù)據(jù)

2009-02-16 15:35:00

2019-09-08 17:04:00

DebianLinuxAnsible

2019-07-09 08:23:07

數(shù)據(jù)安全旅游網(wǎng)絡安全

2009-10-23 17:51:51

Oracle用戶密碼
點贊
收藏

51CTO技術棧公眾號