通過配置ssh深刻理解puppet的語法及工作機制

2021-09-04 20:18:30 字數 2145 閱讀 1983

通過配置ssh深刻理解puppet的語法及工作機制

需求分析

1)、要求openssh-server處於被安裝狀態

2)、要求在配置檔案/etc/ssh/sshd_config正確的情況下,sshd服務處於執行狀態

2)、要求/etc/ssh/sshd_config檔案屬性不被串改(許可權、屬主、屬組等)

3)、要求/etc/ssh/sshd_config檔案被修改或者刪除後會被自動修復

4)、要求通過puppetserver端修改/etc/ssh/sshd_config之後,sshd服務能夠自動重啟。

定義全域性配置資訊

定義全域性配置檔案site.pp

[root@puppetserver ~]# vim /etc/puppet/manifests/site.pp 

import 'nodes/*'

$puppetserver = 'puppetserver.rsyslog.org'

建立並配置nodes.pp節點

[root@puppetserver ~]# mkdir /etc/puppet/manifests/nodes –p

[root@puppetserver ~]# vim /etc/puppet/manifests/nodes/nodes.pp

> node /^agent\d+\.rsyslog.org$/

> endf

設定模組搜尋路徑

vim /etc/puppet/puppet.conf 

[main]

modulepath = /etc/puppet/modules:/var/lib/puppet/modules:/usr/local/lib/puppet/modules

建立模組目錄結構

[root@puppetserver ~]# mkdir -vp 

/etc/puppet/modules/ssh/

建立配置檔案

建立配置檔案(/etc/puppet/modules/ssh/manifests目錄下)

1)、建立site.pp檔案

class ssh

2)、建立install.pp檔案

class ssh::install

}3)、建立config.pp檔案

class ssh::config

}4)、建立service.pp檔案

class ssh::service

}5)、建立params.pp檔案

class ssh::params 

/^(ubuntu|debian)$/: 

/^(redhat|centos|fedora)$/: 

default: }}

建立測試檔案

[root@puppetserver manifests]# mkdir /etc/puppet/modules/ssh/files/etc/ssh/ -p [root@puppetserver manifests]# scp agent1.rsyslog.org:/etc/ssh/sshd_config /etc/puppet/modules/ssh/files/etc/ssh/ 

[root@puppetserver ~]# service puppetmaster reload

測試(puppet kick的方式)

puppet server端開啟除錯模式測試

[root@puppetserver ~]# puppet master --no-daemonize --verbose 

puppet agent端開啟除錯模式測試

[root@puppetserver manifests]# puppetrun -p 10 --host agent1.rsyslog.org

triggering agent1.rsyslog.org

getting status

status is success

agent2.rsyslog.org finished with exit code 0

finished

新開自動化運維管理群:296934942

歡迎各界大牛加入**!

深刻理解三大框架 SSH

在ssh框假中spring充當了管理容器的角色。其中hibernate用來做持久層,因 為它將jdbc做了乙個良好的封裝,程式設計師在與資料庫進行互動時可以不用書寫大量的sql語 句。struts是用來做應用層的,他它負責呼叫業務邏輯serivce層。所以ssh框架的流程大致 是 jsp頁面 str...

深刻理解IdentityHashMap

新建pojo package test public class cat public string getname public void setname string name public integer getage public void setage integer age public...

深刻理解IdentityHashMap

新建pojo package test public class cat public string getname public void setname string name public integer getage public void setage integer age public...