批量管理,批量管理微博
SSH
1、ssh是安全的加密協議,用於遠端連線linux伺服器。
2、ssh預設連接埠是22,安全性通訊協定版本ssh2。
3、ssh服務端主要包含兩個服務功能ssh遠端連線,sftp服務。
4、linux ssh用戶端包含ssh遠端連線命令,以及遠程拷貝scp命令等。
SSH服務認證類型基於口令的安全驗證
ssh串連遠程主機命令的基本文法:
-p接連接埠,預設22連接埠
@前面為使用者名稱
@後面為要已連線的服務器ip
ssh總結:
1、切換到別的機器上ssh -p52113 user@ip。
2、到其他機器執行命令(不會切換到別的機器上)ssh -p 52113 user@ip 命令(全路徑)。
3、當第一次ssh串連的時候,本地會產生一個密鑰檔案~/.ssh/known_hosts(多個密鑰)。
基於密鑰的安全驗證
事先建立一對金鑰組,然後把公用密鑰(public key)放在需要訪問的目標伺服器上,另外,還需要把私人密鑰(private key)放到ssh的用戶端對應的用戶端伺服器上。
根據連接埠號碼(111)查出對應的服務:
lsof -i:111
netstat -lntup|grep 111
根據進程名(sshd)查出對應的連接埠號碼:
netstat -lntup|grep sshd
更改預設ssh登入配置
ssh用戶端附帶的遠程拷貝scp命令
-P(大寫)接連接埠。
-r遞迴,表示拷貝目錄。
-p表示在拷貝前後保持檔案或目錄屬性
-l limit限制速度
scp總結:
1、scp是加密的遠程拷貝,cp僅為本地拷貝。
2、可以把資料從一台機器推送到另一台機器,也可以從其它伺服器把資料拉回到本地執行命令的伺服器。
3、每次都是全量完整拷貝,因此,效率不高,適合第一次拷貝用,如果需要增量拷貝用rsync。
sftp
1、linux下串連命令sftp -oPort=22 root@192.168.31.132
2、上傳put加用戶端本地路徑put /etc/hosts,也可以指定路徑上傳put /etc/hosts /tmp。
3、下載get服務端的內容get hosts,linux下載到本地串連前的目錄,也可以指定下載路徑get /etc/hosts /tmp。
4、串連的遠端家目錄為預設目錄,也可以切換到其他有許可權的目錄下。
批量分發檔案、執行命令
配置ip主機名稱
IT公司企業級批量分發、管理方案
1、中小企業基本sshkey密鑰的方案。
2、門戶網站sina puppet(複製、太重)。
3、趕集、小米saltstack批量管理(輕量)。
建立使用者oldgirl,密碼system
建立公私密金鑰
分發公開金鑰
如果不是22連接埠(52113連接埠):ssh-copy-id -i .ssh/id_dsa.pub "-P 52113 oldgirl@192.168.31.134"
測試免密查詢ip
分發檔案
編寫批量分髮腳本
ssh批量分發與管理
1、利用root做ssh key驗證。
優點:簡單、易用。
缺點:安全差,同時無法禁止root遠端連線這個功能。
2、利用普通使用者(推薦)
先把分發的檔案拷貝到伺服器使用者家目錄,然後sudo提權拷貝分發的檔案。
優點:安全。無需停止root遠端連線這個功能。
缺點:配置比較複雜。
3、設定suid對固定命令
優點:相對安全
缺點:複雜,安全性較差。任何人都可以處理帶有suid許可權的命令。
企業級生產情境批量管理,自動化管理方案:
1、最簡單最常見shh key,功能最強大的。一般中小型企業會用,50—100台以下。
2、門戶層級puppet批量管理工具。
3、saltstack批量管理工具。
4、http+cron
批量管理路線:sshkeyàpuppetàsaltstack/ansible。