1. 程式人生 > >外網Ansible伺服器經過堡壘機管理內網中的伺服器

外網Ansible伺服器經過堡壘機管理內網中的伺服器

外網的Ansible經過堡壘機配置內網中的伺服器:
    正常情況下,Ansible會通過ssh金鑰的方式,管理同一網段中的伺服器。但是,存在這種情況,即企業中在每個省都有自己的伺服器,但是各省只有少數幾臺伺服器,並且這幾臺伺服器中,有一臺是代理伺服器,管理員,通過代理伺服器,跳到內網中的伺服器,實現管理操作的。Ansible適合中小規模的場景,即200臺伺服器,為了區區幾臺伺服器,使用Ansible來管理,有些麻煩。有一種方式,就是再公網中搭建一個Ansible伺服器,該Ansible伺服器通過堡壘機,管理內網中的伺服器。這樣有一個問題,就是,Ansible是通過ssh的金鑰的方式來連結到被管理端的。此時,需要Ansible使用金鑰的方式,直接連線到內網中的伺服器。

            實驗:三臺centos6的虛擬機器A、B、C:A主機:外網中的ansible主機,管理端;(192.168.1.134)
B主機:內網中的跳板機,跳板機;(192.168.1.112、192.168.109.229)
C主機:內網中的主機,被管理端;(192.168.109.228)
要實現的結果是:Ansible伺服器可以通過跳板機管理內網中的主機,具體操作如下:
A主機上:
# ssh-keygen -f /root/.ssh/ansible_id_rsa
# ssh-copy-id -i ansible_id_rsa 192.168.1.112
# cd /root/.ssh
# ssh -i ansible_id_rsa 192.168.1.112
B主機上:
# ssh-keygen -f /root/.ssh/jumper_id_rsa
# ssh-copy-id -i jumper_id_rsa 192.168.109.228
# cd /root/.ssh
# tree
    .
    ├── authorized_keys
    ├── jumper_id_rsa
    ├── jumper_id_rsa.pub
    └── known_hosts
# ssh 192.168.109.228 -i jumper_id_rsa
# cat jumper_id_rsa
    -----BEGIN RSA PRIVATE KEY-----
    MIIEoQIBAAKCAQEAwkHdGJtG/TVqOjRrf0LWdKGczAb2erGbuObrQbzTKL7Fxbw0
    ………………………………………………………………………………
    -----END RSA PRIVATE KEY-----
# cat jumper_id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAII/8bfnTt4………zBB/nnhj5oYHLDMUiPQ== [email protected]
A主機上:
# pwd
    /root/.ssh
# vim jumper_id_rsa
    -----BEGIN RSA PRIVATE KEY-----
    MIIEoQIBAAKCAQEAwkHdGJtG/TVqOjRrf0LWdKGczAb2erGbuObrQbzTKL7Fxbw0
    ………………………………………………………………………………
    -----END RSA PRIVATE KEY-----
# chmod 600 jumper_id_rsa
# vim jumper_id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAII/8bfnTt4………zBB/nnhj5oYHLDMUiPQ== [email protected]
# vim ssh_config
    Host 192.168.1.112 # 跳板機訪問規則的別名;
    User root
    HostName 192.168.1.112
    IdentityFile /root/.ssh/ansible_id_rsa # 訪問跳板機的私鑰;
    PasswordAuthentication no
    Host 192.168.109.228 # 訪問規則的別名;
    Hostname 192.168.109.228
    User root
    ForwardAgent yes # 此配置項是關鍵;
    ProxyCommand ssh -i /root/.ssh/ansible_id_rsa [email protected] -p 22 nc %h %p
    IdentityFile /root/.ssh/jumper_id_rsa # 訪問後端主機的私鑰;
# tree
    .
    ├── ansible_id_rsa
    ├── ansible_id_rsa.pub
    ├── jumper_id_rsa
    ├── jumper_id_rsa.pub
    ├── known_hosts
    └── ssh_config
注意:需要把B主機上的兩個金鑰檔案拷貝到A主機上。
注意:私鑰檔案的許可權是“-rw-------”。
C主機上:
# pwd
# /root/.ssh
# cat authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAA………………………………UQ/pMjvlzBB/nnhj5oYHLDMUiPQ== [email protected]
tree
    .
    └── authorized_keys
A主機上:
# ssh 192.168.1.112 -F /root/.ssh/ssh_config    # 驗證Ansible主機是否可以通過ssh_config檔案連結到跳板機。
# ssh 192.168.109.228 -F /root/.ssh/ssh_config     # 驗證Ansible主機是否可以通過ssh_config檔案連結到C主機。
# yum install ansible # epel倉庫。
# vim /etc/ansible/ansible.cfg
    [defaults]
    timeout = 20
    [ssh_connection]
    ssh_args = -F /root/.ssh/ssh_config
# vim /etc/ansible/hosts
    192.168.1.112 # B主機IP;
    192.168.109.228 # C主機IP;
# ansible 192.168.109.228 -m ping # 驗證ansible是否可以正常工作。
    192.168.109.228 | SUCCESS => {
    "changed": false,
    "ping": "pong"
    }
注意:連結的時候,可能會有一些慢,原因是,目標主機的sshd服務開啟了 UseDNS和GSSAPIAuthentication配置。為了加快效率,建議將/etc/ssh/sshd_config檔案中的這兩項關掉。並重啟sshd服務。幫助文件:
http://www.cnblogs.com/junneyang/p/6073714.html
https://zhuanlan.zhihu.com/p/27746055
https://www.bbsmax.com/A/nAJv6n13Jr/
http://www.cweye.net/2015/07/17/ansible-jumper.html

相關推薦

Ansible伺服器經過堡壘管理伺服器

外網的Ansible經過堡壘機配置內網中的伺服器:    正常情況下,Ansible會通過ssh金鑰的方式,管理同一網段中的伺服器。但是,存在這種情況,即企業中在每個省都有自己的伺服器,但是各省只有少數幾臺伺服器,並且這幾臺伺服器中,有一臺是代理伺服器,管理員,通過代理伺服器

(四)ansible 通過堡壘訪問伺服器

場景:     在ansible的使用過程中,存在這樣的場景,ansible所在的管理節點與被管理的機器需要 通過一個跳板機才能連線,無法直接連線。要解決這個問題,並不需要在 ansible裡做什麼處理,而是在ssh連線層面解決這個問題。  

阿里雲伺服器專案部署好後可以訪問但無法訪問的解決辦法

伺服器上的專案環境部署好了之後,內網可以訪問8080埠,外網無法訪問8080. 系統環境:windows server 2012 R2 中文版 解決方案: 在阿里雲的後臺新增配置安全組規則即可。以下是操作流程: 

xsheel連線跳板訪問

1.1 開啟xshell新建跳板機連線   1.2 輸入跳板機地址   1.3 點選確定,然後點選連線,輸入使用者名稱:xxxxx;密碼:xxxxx   2、建立隧道 2.1 選擇建立好的內網伺服器,右鍵選擇屬性   2.2 點選隧道,再選擇新增,在彈

絡卡怎麼同時一個上一個上

1、首先設定第一塊網絡卡,假設為本地連線,找到本地連線,開啟IPV4協議,可以設定固定地址,也可以自動獲取。 2、開啟CMD命令列,輸入route print檢視路由表。我們發現永久路由是空洞,因為我們用的是自動獲取的IP地址。 3、如果是固定IP地址的話,永舊路由上會出現

window系統的雙絡卡配置 同時連線 公司以及(域名可解析)

記錄一下雙網絡卡的配置 電腦有兩張網絡卡,無線和有線 我現在是使用有線去連線公司內網,無線連線外網; 公司內網的ip格式:  10.*.*.* 內網網路掩碼:         255.255.255.0 內網閘道器地址:

牛客 - 線上程式設計 - 華為試 - 刪除字串出現次數最少的字元

題目描述 實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。 輸入描述: 字串只包含小寫英文字母, 不考慮非法輸入,輸入的字串長度小於等於20個位元組。 輸出描述: 刪除字串中出現

客戶 通過 公網域名/ip 訪問web伺服器 出錯

在一內部區域網中, client  內網地址為 10.0.0.2     web  伺服器內網地址為 10.0.0.1    外網地址為  211.6.15.1    域名為  xx.love.com 問題:在內網10.0.0.2的機器上訪問   外網地址 211.

如何查詢本IP地址

查詢本機的內網IP有兩種方法(在網上:如百度網頁中顯示的IP是外網IP,與內網IP不同) 第一種:cmd法 (1)win+R快捷鍵,開啟cmd,輸入ipconfig/all,點選回車, 即可得到ip地址,ip地址如下: 第二種是在控制面板中找到已連線的網路,點選查詢詳細資

CentOS搭建ngrok伺服器及跨平臺客戶端穿透的使用

有些時候需要開發微信或者支付等介面時需要一個公網地址,除錯的時候只能上傳到伺服器檢查錯誤,這樣不斷的在伺服器上除錯,效率是非常低的。當然,我們可以使用花生殼一類的內網穿透軟體,但是免費版限制重重,不如自己搭建一個內網穿透的伺服器,用起來的心應手,也不用擔心隱私洩露等問題。目前

windows系統兩個絡卡如何同時使用?共用,配置教程

      有些企業的網路分為內網和外網,一般內網不能訪問Internet,但是又不提供外網,自己有上外網的需求,所以可能會用到雙網絡卡,無線網絡卡+有線網絡卡或者有線+有線。。。 本文就是為了解決此問題,主要的做法就是修改windows的路由表. 假設  (

使用iptables將ftp服務映射到其他服務器上

type 路由選擇 -- stop 局域網 一點 需要 grep system iptables一般的只需要關註兩個表,一個是nat表,一個是filter表,其他表暫時用不到,然後nat表裏有三個鏈,filter表裏有三個鏈,總結兩個表,五個鏈 入站數據流向:數據包到達防火

穿透 frp,ssh遠端訪問

內網穿透 frp 1,使用谷歌雲,伺服器端安裝frp 1.1,下載Linux 64 位frp版本 2,客戶端配置 3,ssh連線 4,使用supervisor設定開機啟動,程序守護 4.1 報錯 gave u

mac蘋果電腦實現USB絡卡和有線同時訪問和網際網路

工作時偶爾會遇到需要同時訪問公司內網和網際網路,特記錄一下。1:開啟Mac上的“終端” ,鍵入以下命令netstat -rn2: sudo route delete 0.0.0.0  (刪除預設路由)s

Django專案:堡壘機(Linux伺服器主機管理系統)--01--01堡壘機重寫DJANGO賬戶表 python相關軟體安裝流程圖解————————python安裝——————python-3.7.1-amd64 python相關軟體安裝流程圖解————————pycharm安裝——————pyc

  python相關軟體安裝流程圖解————————python安裝——————python-3.7.1-amd64  https://www.cnblogs.com/ujq3/p/10098166.html   python相關軟體安裝流程圖解————————pyc

運維技術分享:伺服器管理需要注意的問題及為什麼需要堡壘

本文來自JumpServer首席架構師董帥在運維派技術交流群上的分享 講師介紹: 董帥:網際網路從業8年,曾打造多家電商以及金融公司技術產品,有豐富的系統安全經驗,專注於系統架構設計,致力於推動自動化運維事業。 安全的雜談 運維安全是企業安全保障的基石,不同於Web安全、移動安全或者業務安全,運維安

伺服器ping不通本的區別

windos 的ipconfig 和 Linux 的 ifconfig  ip addr命令都是外網的基礎上分配的內網網路 如果想要在192.168.x.x 內網環境ping通必須保證在同一個wifi(區域網-外網下)下才行得通 如果是自己電腦開的虛擬機器 可以使用1

主機管理+堡壘系統開發

port github 1.2 nullable localhost ddr 字符串 需要 bsp 本節內容 需求討論 構架設計 表結構設計 程序開發 1.需求討論 實現對用戶的權限管理,能訪問哪些機器,在被訪問的機器上有哪些權限 實現可以通過web頁面對指定主機

c#得到本ip、ip

獲取本機 bre gethost post value 公網 內網ip end stream 內網 IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];//獲得當前IP地址

堡壘的功能之解決賬號密碼管理不規範問題

運維堡壘機 堡壘機 隨著企業IT系統規模的不斷擴大,業務範圍的快速擴張,運維工作量也隨之增多,企業賬號密碼的安全性越來越無法得到保障。作為IT系統看門人的行雲管家運維堡壘機,如何解決企業運維賬號密碼管理不規範的問題呢? 企業運維存在賬號密碼管理不規範問題 當前企業的支撐系統中存在大量主機系統、應用系