1. 程式人生 > >SSH服務以及批量分發專案

SSH服務以及批量分發專案

一、SSH服務端

1、SSH服務
2、SFTP服務(vsftp,proftp)
SSH客戶端
SSH客戶端(ssh命令)還包活一個很有用的遠端安全拷貝命令scp,也是通過ssh協議工作的。
SSH服務以及批量分發專案
SSH服務協議加密原理(ssh 1.x)

SSH version 2多加了一個確認聯機正確性的Diffie-Hellman機制,在每次資料傳輸中,Server都會以該機制檢查資料的來源是否正確,這樣,可以避免聯機過程中被插入惡意程式程式碼的問題。SSH version 2是比較安全的。
SSH服務認證:
1、基於口令安全認證:ssh -p22 [email protected]
2、基於金鑰安全認證:一對金鑰對(鎖 公用密匙(Public key)和鑰匙 私有密匙(Private key))
SSH基本語法使用


SSH服務以及批量分發專案
1、登入到遠端主機
SSH服務以及批量分發專案
2、在本地執行遠端主機的命令
SSH服務以及批量分發專案
SSH服務以及批量分發專案
scp全量拷貝
scp -P22 -r -p /data [email protected]:/tmp/
rsync增量拷貝
rsync -avz /data -e 'ssh -p 22' [email protected]:/tmp/
SSH服務以及批量分發專案
sftp上傳下載工具命令應用

  sftp -oPort=22 [email protected]
  upload(上傳): put /etc/hosts            #上傳到遠端主機家目錄下
                        put /etc/hosts /tmp    #上傳到遠端主機/tmp下
  download(下載): get hosts           #下載到本機的當前目錄下
                               get /etc/hosts /tmp    #下載到本機的/tmp下

SSH服務以及批量分發專案

二、叢集架構批量分發管理方案(以四臺為例)

1、在四臺伺服器上新增同樣的使用者,並給上密碼
SSH服務以及批量分發專案
2、然後在NFS共享伺服器上產生金鑰對(切換到yu普通使用者)

        ssh-keygen -t dsa 一直回車
        ls -l .ssh/ 檢視金鑰對

3、分發公鑰到其他三臺伺服器

        ssh-copy-id -i .ssh/id_dsa.pub [email protected]
        ssh-copy-id -i .ssh/id_dsa.pub [email protected]
        ssh-copy-id -i .ssh/id_dsa.pub 
[email protected]
分發到對方家目錄下,檢視命令: ll /home/yu/.ssh/

4、批量執行命令
vi view.sh 並執行指令碼
SSH服務以及批量分發專案
5、批量分發 (把hosts檔案分發到其他的伺服器上)
vi fenfa.sh 並執行指令碼
SSH服務以及批量分發專案

三、SSH批量分發與管理方案(把當地檔案分發到各個伺服器的/etc目錄下)

答:利用普通使用者如 yu來做
     思路是先把分發的檔案拷貝到伺服器使用者家目錄,然後sudo提權拷貝分發的檔案到遠端對應許可權目錄。
     優點:安全。無需停止root遠端連線這個功能。
     缺點:配置比較複雜。

1、首先在各個伺服器上配置sudo檔案
SSH服務以及批量分發專案
2、分發 ssh -t [email protected] sudo rsync hosts /etc/
SSH服務以及批量分發專案
執行指令碼:
SSH服務以及批量分發專案
3、分發成功後發郵件通知
首先開啟postfix服務
SSH服務以及批量分發專案
檢視服務 lsof -i :25
最後發郵件 mail -s "yu title" [email protected] </etc/hosts
定時批量分發檔案:vi fenfa_hosts.sh
SSH服務以及批量分發專案
執行: sh fenfa_hosts.sh hosts /etc
加到定時任務:
SSH服務以及批量分發專案
SSH服務以及批量分發專案