1、Linux上遠端指令行登入:ssh 使用者名@遠端主機IP位址
常用選項:
-2:表示SSH2,強制使用第二代SSH協定,建議使用
-p:端口号
大多數SSH登入的兩個規則:1)禁止空密碼使用者登入;2)禁止root使用者登入
2、SSH配置檔案:/etc/ssh/ssh_config
選項1:PermitRootLogin yes #添加該行,或者将該行前的#去掉,則會限制root使用者登入
選項2:Port 10022 #設定SSH的端口号為10022,建議修改此處
設定成功後:services shd restart #重新加載配置檔案以生效
【Windows上有用戶端SecureCRT】
#登入之後與ftp非常相像
【Windows上有SSHSecure Transfer Client】
1、本機拷貝檔案到遠端主機【加密傳輸】
scp 本地檔案 使用者名@遠端主機位址:遠端主機目标目錄
scp -r 本地目錄 使用者名@遠端主機位址:遠端主機目标目錄
2、從遠端主機拷貝檔案到本地
scp 使用者名@遠端主機位址:遠端主機檔案 本地目錄
scp -r 使用者名@遠端主機位址:遠端主機目錄 本地目錄
3、常用選項
-r #複制目錄
-p #保持檔案原有屬性
-P(大寫) #指定端口号
四、加密與解密
1、對稱密鑰加密
說明:加密與解密使用同一密鑰
優點:速度快
缺點:密鑰本身需要交換

2、非對稱密鑰加密
說明:又稱為公開密鑰加密,使用時生成兩個密鑰,一個公開存放,為公鑰;一個私人持有,為私鑰。使用者用其中一個密鑰加密的資料隻有用另一個密鑰才能解開
優點:安全性好
缺點:速度慢
是以加密時,通常是同時使用對稱與非對稱兩種加密結合使用
3、示例
公鑰加密 --->私鑰解密 ---加密檔案
私鑰加密 --->公鑰解密 ---數字證書【用私鑰标記一下,然後用公鑰檢驗】
4、建立信任主機
主機一(本機)
主機二(192.168.16.155)
建立密鑰對
獲得主機一公鑰,并生成認證密鑰
ssh-keygen -t rsa #直接回車就可以了
該公鑰預設儲存在目前使用者家目錄的.ssh下
catid_rsa.pub >> .ssh/authorized_keys #名稱固定,最好用追加符号!
生成公鑰id_rsa.pub
chmod 600 .ssh/authorized_key
chmod 700 .ssh【有些系統現在不需要這兩步】
說明:
1、此時,主機一登入主機二将不用再使用密碼
如:scp -rp [email protected]/webadmin /backup
ssh [email protected] #執行這兩條指令将不再需要密碼
2、信任主機關系是跟使用者是相關的,如root生成的密鑰對,隻有root可以用,用zhansan登入的時候也是需要使用密碼的
3、在主機二上,如果沒有.ssh目錄的話,需要手工建立一下
特點:
1)、友善增量備份實作
2)、可鏡像儲存整個目錄樹和檔案系統
3)、保持檔案的權限,時間,軟硬連結等
4)、檔案傳輸效率高
5)、可以使用SSH加密通道
1、啟動rsync
rpm -qf /etc/xinetd.d/rsync #檢視rsync是否已經安裝,但是大部分Linux是預設安裝的
編輯/etc/xinetd.d/rsync檔案:添加或修改選項 disable=no
service xinetd restart #将xinetd服務重新啟動一下
附:sync 指令:将記憶體資料同步到硬碟上
2、使用rsync
示例1: rsync -arHz --progress --delete [email protected]:/website /backup
#備份web伺服器端的目錄到本地/backup
#上傳/script目錄到使用者samlee的宿主目錄下
3、選項說明
-a #all:保持檔案屬性
-r #遞歸:子目錄遞歸處理
-H #保持檔案硬連結
-z #備份檔案傳輸時壓縮處理,以優化備份速度,建議加上
--progress #在傳輸時顯示整個傳輸過程,在自動化執行時就不用加了
--delete #删除目标備份沒有的檔案,必須加
-e ssh #使用ssh加密隧道傳輸,進行加密處理
六、綜合執行個體分析
伺服器A/webadmin 192.168.16.155 penny ---> 備份伺服器B(localhost)root
&需要提前做好信任主機關系
a)在備份伺服器B生成密鑰,将公鑰拷貝到伺服器A
b)在伺服器A上生成認證密鑰
1)每周日做一次完全備份:crontab -e
/webadmin_$(date +%F)
2)每周一~周六做一次增量備份:crontab -e
0 2 * * 1-6 /usr/bin/rsync -arHz --delete [email protected]:/website /backup