Linux 学习笔记_12_文件共享服务_4_SSH
SSH文件共享服務
一、ssh遠程登錄【一般的Linux系統都會默認安裝并啟用】
1、Linux上遠程命令行登錄:ssh?用戶名@遠程主機IP地址
常用選項:
-2:表示SSH2,強制使用第二代SSH協議,建議使用
-p:端口號
示例:ssh?sam@192.168.139.1
大多數SSH登錄的兩個規則:1)禁止空密碼用戶登錄;2)禁止root用戶登錄
2、SSH配置文件:/etc/ssh/ssh_config
選項1:PermitRootLogin yes ? ? ? ? ? #添加該行,或者將該行前的#去掉,則會限制root用戶登錄
選項2:Port 10022 ? ? ? ? ? ? ? ? ? ? ? ? ?#設定SSH的端口號為10022,建議修改此處
設置成功后:services shd restart ? ? #重新加載配置文件以生效
此時登錄:ssh -2 -p 10022?sam@192.168.139.1
【Windows上有客戶端SecureCRT】
二、sftp文件共享(類似于ftp)
Linux命令行登錄:sftp?pam@192.168.139.1? ?? #登錄之后與ftp非常相像
【Windows上有SSHSecure Transfer Client】
三、scp文件共享(類似于cp)
1、本機拷貝文件到遠程主機【加密傳輸】
scp ?本地文件 ?用戶名@遠程主機地址:遠程主機目標目錄
scp ?-r?本地目錄 ?用戶名@遠程主機地址:遠程主機目標目錄
e.g. scp ? /etc/inittab ?penny@192.168.139.1:/home/penny
scp ?-r ? /etc?penny@192.168.139.1:/home/penny
2、從遠程主機拷貝文件到本地
scp ?用戶名@遠程主機地址:遠程主機文件 ?本地目錄
scp ?-r?用戶名@遠程主機地址:遠程主機目錄 ?本地目錄
3、常用選項
-r ? ? ? ? ? ? ? #復制目錄
-p ? ? ? ? ? ? ?#保持文件原有屬性
-P(大寫) ? ?#指定端口號
四、加密與解密
1、對稱密鑰加密
說明:加密與解密使用同一密鑰
優點:速度快
缺點:密鑰本身需要交換
2、非對稱密鑰加密
說明:又稱為公開密鑰加密,使用時生成兩個密鑰,一個公開存放,為公鑰;一個私人持有,為私鑰。用戶用其中一個密鑰加密的數據只有用另一個密鑰才能解開
優點:安全性好
缺點:速度慢
所以加密時,通常是同時使用對稱與非對稱兩種加密結合使用
3、示例
公鑰加密?--->私鑰解密 ---加密文件
私鑰加密?--->公鑰解密 ---數字證書【用私鑰標記一下,然后用公鑰檢驗】
4、建立信任主機
| 建立密鑰對 | 獲得主機一公鑰,并生成認證密鑰 |
| 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 penny@192.168.16.155/webadmin /backup
ssh penny@192.168.16.155 ? ? ? ? ? ? ? ? ?#執行這兩條命令將不再需要密碼
2、信任主機關系是跟用戶是相關的,如root生成的密鑰對,只有root可以用,用zhansan登錄的時候也是需要使用密碼的
3、在主機二上,如果沒有.ssh目錄的話,需要手工創建一下
五、rsync應用
特點:
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 webadmin@192.168.16.155:/website /backup
#備份web服務器端的目錄到本地/backup
示例2:rsync -arHz --progress --delete /script?samlee@192.168.16.155:/home/samlee
#上傳/script目錄到用戶samlee的宿主目錄下
3、選項說明
-a ? ? ? ? ? ? ? ? ? ? #all:保持文件屬性
-r ? ? ? ? ? ? ? ? ? ? #遞歸:子目錄遞歸處理
-H ? ? ? ? ? ? ? ? ? #保持文件硬鏈接
-z ? ? ? ? ? ? ? ? ? #備份文件傳輸時壓縮處理,以優化備份速度,建議加上
--progress ? ? ?#在傳輸時顯示整個傳輸過程,在自動化執行時就不用加了
--delete ? ? ? ? #刪除目標備份沒有的文件,必須加
-e ssh ? ? ? ? ? #使用ssh加密隧道傳輸,進行加密處理
rsync -arHz --progress –delete -e ssh /scriptsamlee@192.168.16.155:/home/samlee
六、綜合實例分析
服務器A/webadmin 192.168.16.155 penny --->?備份服務器B(localhost)root
&需要提前做好信任主機關系
a)在備份服務器B生成密鑰,將公鑰拷貝到服務器A
b)在服務器A上生成認證密鑰
1)每周日做一次完全備份:crontab -e
0 2 * * 0 /usr/bin/scp -rp?webadmin@192.168.16.155:/webadmin/backup /webadmin_$(date +%F)
2)每周一~周六做一次增量備份:crontab -e
0 2 * * 1-6 /usr/bin/rsync -arHz --delete penny@192.168.16.155:/website ?/backup
總結
以上是生活随笔為你收集整理的Linux 学习笔记_12_文件共享服务_4_SSH的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET真假分页—真分页
- 下一篇: 【Review】Review of Sp