SSH批量分發管理


IT公司企業級批量分發\管理方案(分發,批量部署、執行命令、批量管理)
一、中小企業最基本實用的sshkey密鑰管理方案
二、門戶網站puppet (複雜,過重)sina
三、趕集,小米SALSTACK批量管理(輕量)


SSH server:   
1、SSH服務   2、SFTP服務(vsftp,proftp) ssh client:   特別提醒:SSH客戶端(ssh)還包含一個頗有用的遠程安全拷貝命令scp,也是經過ssh協議工做的。 知識小結:(openssh負責鏈接 openssl負責加密)   1、ssh是安全加密協議,用於遠程鏈接linux服務器   2、ssh默認端口是22,安全協議版本ssh2,ssh1 有漏洞     ssh2多加了一個確認聯機正確性的Diffie-Hellman機制,避免聯機中被插入惡意代碼   3、ssh服務端主要包含兩個服務功能ssh遠程鏈接,sftp服務   4、linux ssh客戶端包含ssh遠程鏈接命令,以及遠程拷貝scp命令 SSH服務認證類型   1、基於口令的安全認證   2、基於密鑰的安全認證 鎖Public Key 鑰匙Private Key   創建一對密鑰對,公用密鑰放在須要訪問的目標服務器上,另外還須要把私鑰放到ssh的客戶端或對應的服務器上

 

 

 

 配置node

 
 
在3臺服務器上創建gtms帳號
192.168
.0.84 node84 分發服務器 192.168.0.85 node85 192.168.0.86 node86

一、生成密鑰文件
root@node84 ~]# su - gtms
[gtms@node84 ~]$ ssh-keygen -t dsa   #一路回車
Generating public/private dsa key pair.
Enter file in which to save the key (/home/gtms/.ssh/id_dsa):
Created directory '/home/gtms/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/gtms/.ssh/id_dsa.
Your public key has been saved in /home/gtms/.ssh/id_dsa.pub.
The key fingerprint is:
31:54:57:38:fb:8f:58:de:45:ff:26:e0:33:a5:bb:a0 gtms@node84
The key's randomart image is:
+--[ DSA 1024]----+
|        ... .o.  |
|       .   .o    |
|        o    o   |
|         o  .   .|
|        S    . ..|
|            . + o|
|          .. B +o|
|         . .* + =|
|        E   o= o |
+-----------------+

[gtms@node84 ~]$ ls -al .ssh
total 16
drwx------ 2 gtms gtms 4096 Jan 30 03:56 .
drwx------ 3 gtms gtms 4096 Jan 30 03:56 ..
-rw------- 1 gtms gtms  668 Jan 30 03:56 id_dsa
-rw-r--r-- 1 gtms gtms  601 Jan 30 03:56 id_dsa.pub


二、將公鑰傳到其餘服務器
[gtms@node84 ~]$ ssh-copy-id -i  .ssh/id_dsa.pub gtms@192.168.0.85
[gtms@node84 ~]$ ssh-copy-id -i  .ssh/id_dsa.pub gtms@192.168.0.86

[gtms@node85 ~]$ ls -l .ssh/
total 4
-rw------- 1 gtms gtms 601 Jan 30 04:01 authorized_keys        #自動變爲此文件  600權限
[gtms@node85 ~]$

以下操做已經經過密鑰認證方式,無需密碼
[gtms@node84 ~]$ssh gtms@192.168.0.85
[gtms@node84 ~]$scp -P22 /etc/hosts gtms@192.168.0.85:~


經過腳本實現分發
[gtms@node84 ~]$ cat fenfa.sh
#!/bin/sh
. /etc/init.d/functions
if [ $# -ne 1 ]
        then "USAGE:$0 {filename|dirname}"
        exit 1
fi
for n in 85 86
do
scp $1 patrol@192.168.0.$n:~ &>/dev/null
if [ $? -eq 0 ]
        then
                action "fenhua 192.168.0.$ is ok" /bin/true
        else
                action "fenhua 192.168.0.$n is not ok" /bin/false
fi
done


SSH批量分發與管理方案小結一、利用root作ssh作ssh key作驗證(危險等級太大)  優勢:簡單、易用  缺點:安全性差,同時沒法禁止root遠程鏈接這個功能  企業應用:80%中小企業二、利用普通用戶來作  思路是先把文件的文件分發到用戶家目錄,而後sudo提權cp分發的文件的對應權限 #echo 'gtms ALL=(ALL)    NOPASSWD:/usr/bin/rsync' >>/etc/sudoers  優勢:安全,無需中止root遠程鏈接  缺點:配置較複雜三、同方案2,只是不用suid,而是設置suid對固定命令受權  優勢:相對安全  缺點:複雜,安全性較差,任何人均可以處理帶suid權限的命令  建議:追求簡單,選1。追求安全建議選2.有能力puppet,saltstack
相關文章
相關標籤/搜索