遠程管理服務配置文件
/etc/ssh/sshd_config --- ssh服務端配置文件
/etc/ssh/ssh_config --- ssh客戶端配置文件
Port 22 --- 指定服務端口號 52113
ListenAddress 0.0.0.0 --- 任意主機地址都進行監(jiān)聽
PS: 所有服務監(jiān)聽的地址只能是本地網(wǎng)卡上有的地址
PermitRootLogin yes --- 是否允許root用戶遠程登錄 oldboy -- su -- root (jumpserver)
PermitEmptyPasswords no --- 是否允許無密碼進行遠程連接
GSSAPIAuthentication yes --- 使用GSSAPI認證方式進行遠程連接 影響ssh遠程連接效率
UseDNS yes --- 是否進行DNS反向解析過程 影響ssh遠程連接效率
遠程管理防范入侵
1. 盡量使用秘鑰認證 不要使用密碼認證(密碼復雜 定期修改)
2. 盡量讓架構(gòu)中的服務器沒有外網(wǎng)網(wǎng)卡
3. 對于擁有外網(wǎng)地址服務器,做好服務地址監(jiān)聽,提高安全性
4. 防火墻服務/硬件, 根據(jù)業(yè)務情況,做安全訪問控制 ACL訪問控制 ASA
5. 監(jiān)控系統(tǒng)重要文件是否被修改 inotify 對比指紋信息(zabbix)
/etc/
/var/
6. 給重要文件信息上鎖 chattr
用戶相關文件上鎖: passwd shadow group groupshadow
服務程序運行相關: rc.local profile.d/ crond
系統(tǒng)環(huán)境配置相關: profile bashrc ifcfg-eth0 reslove.conf rsyncd.conf
批量管理服務概念介紹 ansible saltstack
同時并行管理多臺主機
1列牺,實現(xiàn)批量分發(fā)數(shù)據(jù)信息
2十减, 實現(xiàn)批量部署軟件服務
3氢哮, 實現(xiàn)批量收集系統(tǒng)信息 資產(chǎn)管理
4畔况, 實現(xiàn)批量自動管理應用 代碼上線 服務重啟
ansible軟件特點
a 部署安裝簡單方便
b 軟件不需要啟動服務
c 客戶端不需要進行配置
d 功能作用非常強大
ansible軟件部署過程:
管理端:
第一個里程: 安裝軟件
yum install -y ansible
ansible.cfg --- ansible程序配置文件 默認配置即可
hosts --- 主機清單文件
roles
被管理端:
確認防火請和selinux安全服務是否關閉
如何配置使用軟件
1) 主機清單配置
vim /etc/ansible/hosts
172.16.1.41 --- ansible管理端可以管理的主機信息
主機清單配置方法:
官方參考: https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
方法一: 直接寫上管理主機IP地址信息
172.16.1.41
172.16.1.31
172.16.1.7
進行測試:
ansible 172.16.1.31,172.16.1.41 -m ping --- 單臺或多臺主機測試
ansible all -m ping --- 對所有管理主機測試
方法二: 按照分組信息進行配置 *****
[rsync_server]
172.16.1.41
[rsync_client]
172.16.1.31
172.16.1.7
進行測試:
ansible rsync_client -m ping
方法三: 設置管理主機連接參數(shù)(ansible程序內(nèi)置變量)信息
[rsync_server]
172.16.1.41 ansible_user=root ansible_password=654321 ansible_port=22
[rsync_server]
backup ansible_host=172.16.1.41 ansible_user=root ansible_password=654321 ansible_port=22
[rsync_server]
www.oldboy.com ansible_user=root ansible_password=654321 ansible_port=22
ansible_user --- 指定遠程連接用戶信息
ansible_password --- 指定遠程連接用戶密碼
ansible_port --- 指定遠程連接服務端口
ansible_host --- 可以使用主機名稱進行管理 參數(shù)后面指定IP地址 參數(shù)前面指定主機名信息
方法四: 嵌入式配置主機清單
[rsync:children]
rsync_server
rsync_client
[rsync_server]
www.oldboy.com ansible_host=172.16.1.41 ansible_user=oldboy ansible_password=654321 ansible_port=22
[rsync_client]
172.16.1.31
172.16.1.7
進行測試:
ansible rsync -m ping
[rsync_client]
172.16.1.31
172.16.1.7
[rsync_client:vars] --- 對管理組中所有主機信息,統(tǒng)一設置變量
ansible_user=root
ansible_password=654321
ansible_port=22
方法五: 使用匹配符號信息,匹配多個主機
[rsync_client]
172.16.1.[1:7]
[rsync_client]
web-[a:z]
遇到的問題:
問題一:
172.16.1.41 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 172.16.1.41 port 22: Connection refused",
"unreachable": true
}
排錯方法:
01. 利用ssh命令遠程連接測試
問題二:
172.16.1.41 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
"unreachable": true
}
排錯:
01. 分發(fā)公鑰信息
問題三:
[root@m01 ansible]# ansible 172.16.1.31 -m ping
[WARNING]: Could not match supplied host pattern, ignoring: 172.16.1.31
[WARNING]: No hosts matched, nothing to do
排錯:
01. 修改主機清單信息
只有主機清單中定義主機信息,可以被ansible管理
掌握功能模塊
第一個模塊: command 命令模塊 批量執(zhí)行命令 默認模塊
ansible oldboy -m command -a "hostname"
第二個模塊: shell 命令模塊 批量執(zhí)行命令 萬能模塊
ansible oldboy -m shell -a "yum install -y htop"
ansible oldboy -m shell -a "cd /tmp;pwd"
第一個里程: 編寫腳本
第二個里程: 將腳本進行分發(fā)
ansible oldboy -m copy -a "src=/server/scripts/create_user.sh dest=/server/scripts/"
第三個里程: 修改腳本權(quán)限
ansible oldboy -m file -a "path=/server/scripts/create_user.sh mode=755"
第四個里程: 批量執(zhí)行腳本
ansible oldboy -m shell -a "/server/scripts/create_user.sh"
第三個模塊: script 命令模塊 批量運行腳本
第一個里程: 編寫腳本
第二個里程: 批量執(zhí)行腳本
ansible oldboy -m script -a "/server/scripts/create_user.sh"
補充: 如何學習模塊使用方法:
01. 簡單了解模塊作用
command – Execute commands on targets 在目標主機上執(zhí)行命令模塊
02. 模塊詳細說明
03. 掌握模塊參數(shù)用法
根據(jù)樣例學習參數(shù)信息
#學習ansible會有不同顏色提示
01. 綠色: 對主機信息進行查看, 操作執(zhí)行成功
02. 黃色: 對主機信息進行查看, 對主機中信息有調(diào)整修改
03. 紫色: 錯誤提示信息, 建議忠告信息
04. 紅色: 報錯提示信息