標籤:c89 叢集 內容 .sh 拷貝 基於 ftp dash 檔案
這篇主要是介紹如何批量登陸遠程主機和配置,這個過程中是在沒有部署平行處理工具或者叢集管理工具的前進行的。
————————————首次登陸——————————————
首次登陸需要解決的問題就是:
1,信任遠程主機公開金鑰的問題,也就是key_word:yes/no?
2,然後就是遠程主機的密碼,key_word:password:
在自動化部署過程中,需要進行免互動和免密碼登陸。
1,使用expect編寫免互動登陸指令碼(適用於telnet,ssh,ftp等),然後使用shell調用expect指令碼進行批量處理
2,使用ssh-keygen -h建立本地公開金鑰,然後把該公開金鑰傳到遠程主機之後,就可以免密碼登陸
因此,對於要實現首次登陸,並且把本地管理主機的公開金鑰批量傳輸給遠程主機,可以通過編寫指令碼來實現
————————————首次登陸,建立/root/.ssh——————————————
1,建立登陸單台遠程主機的指令碼:
ssh_login.exp,內容如下
該指令碼主要是首次免互動登陸遠程主機,然後建立/root/.ssh目錄
2,建立批量登陸指令碼 ssh_login_all.sh,內容如下:
3,運行指令碼./ssh_login_all.sh,可以在遠程主機列表建立/root/.ssh
—————————拷貝本地/root/.ssh/authorizd_keys到遠程主機——————————
1,建立拷貝單個檔案的指令碼
scp_authorized_keys.exp,內容如下
2,建立批量拷貝檔案的指令碼
./scp_all.sh,內容如下
————————————————————驗證登陸————————————————
拷貝完本地的authorized_keys到遠程主機之後,本地主機就可以免密碼登陸到遠程主機了。
配置信任關係之後,同樣可以在本地管理主機部署叢集管理工具等,進行虛擬叢集的集中管理。
例如安裝pssh,c3等
————————————————遠程主機的配置修改————————————————
根據這兩篇部落格的內容,到這裡基本上可以無密碼登陸遠程主機了。基於此,則可以部署叢集管理工具或者編寫並行命令執行指令碼,進行遠程主機的配置統,或者統一修改
例如:
1. 根據不同主機的IP地址,修改主機名稱
2. 拷貝以下檔案到遠程主機:
/etc/hosts;/etc/selinux/config;/etc/ssh/sshd_config;/etc/ssh/ssh_config;/etc/pam.d/sshd;/etc/secutity/access.conf等
yum -y install pssh
pssh -i -h hostfile /etc/hosts
總結:
對於叢集節點少於10個的點,其實可以手動設定。但是對於數量眾多的叢集,編寫指令碼能夠帶來很多方便。同時,正式環境的裝置都有頻外管理介面和管理維護網路,使用起來更加方便。
如何批量登陸遠程主機和配置【轉】