jojo's blog--快樂憂傷都與你同在
          為夢想而來,為自由而生。 性情若水,風(fēng)起水興,風(fēng)息水止,故時而激蕩,時又清平……
          posts - 11,  comments - 30,  trackbacks - 0
          近段時間工作需要做了些scp和rsync的異地安全備份,整理了一下,希望多大家有用。

          scp的備份指南:
          需求:用scp自動完成異地文件的定時copy
          難點(diǎn):如何讓異地主機(jī)建立安全的信任關(guān)系

          1、在A機(jī)器上用root運(yùn)行ssh-keygen,將生成/root/.ssh/identity和/root/.ssh/identity.pub兩個文件;

          2、在A機(jī)器上運(yùn)行scp /root/.ssh/identity.pub test@192.168.1.10:/upload/.ssh/authorized_keys(假設(shè)B機(jī)器的IP地址為192.168.1.10,B 機(jī)器上開了用戶test,要上傳到的目錄是/upload,需輸入密碼)。目的是將本地的identity.pub放到遠(yuǎn)程機(jī)器上并改名為 authorized_keys,這樣就建立了新任主機(jī),以后就不需要每次ssh都需要輸入密碼了;

          3、通過crontab建立腳本,例:30 02 * * 1-5 scp /home/data/* test@192.168.1.10:/upload。
          (每天2:30am自動將/home/data下面的所有文件以test用戶名傳到遠(yuǎn)程主機(jī)192.168.1.10的/upload目錄中);

          認(rèn)證原理:
           如果你希望從A作為用戶user1 SSH 到B 作為用戶user2, 若要用RSA鍵對法認(rèn)證且不需要密碼,則B上的ssh 后臺程序拿出~user2/.ssh/authorized_keys中的與A有關(guān)的RSA公鑰來對A上的以user1身份運(yùn)行的ssh客戶程序進(jìn)行挑 戰(zhàn),前面我們已經(jīng)把A上的identity.pub拷貝到B上作為authorized_keys了。則A保持私鑰identity,而B上的sshd又 拿出A的公鑰來挑戰(zhàn),因此成功,你可以加很多行到authorized_keys以允許其它服務(wù)器的公鑰可以加進(jìn)來。

          scp特點(diǎn):
          使用ssl加密,安全性高。

          rsync的備份指南:
          需求:用rsync完成異地文件的同步
          難點(diǎn):如何建立異地信任關(guān)系

          1、在A主機(jī)上(rsync服務(wù)器)上編譯安裝rsync,需要版本在2.4.3以上(http://rsync.samba.org),在/etc目錄下建立rsyncd.conf文件,內(nèi)容如下:
          uid = nobody
          gid = nobody
          use chroot = no             # 不使用chroot
          max connections = 4         # 最大連接數(shù)為4
          log file = /var/log/rsyncd.log
          pid file = /var/run/rsyncd.pid
          lock file = /var/run/rsync.lock     # 日志記錄文件

          [test]                 # 這里是認(rèn)證的模塊名,在客戶端需要指定
          path = /home/test         # 需要同步的目錄
          comment = test folder
          uid = root
          ignore errors         # 可以忽略一些無關(guān)的IO錯誤
          read only = yes         # 只讀
          list = no             # 不允許列文件
          auth users = rsynctest    # 認(rèn)證的用戶名,如果沒有這行,則表明是匿名
          secrets file = /etc/test.scrt     # 認(rèn)證用戶密碼文件

          2、在/etc下建立test.scrt文件,輸入:
          用戶名:密碼
          例:rsynctest:testrsync
          將文件屬性修改為600(千萬注意)

          3、啟動rsync服務(wù):rsync --daemon (rsync運(yùn)行在tcp 873端口,可以通過netstat -an|grep LISTEN察看)。

          4、在B主機(jī)上(rsync客戶機(jī))上建立/etc/test文件,內(nèi)容為A主機(jī)的密碼,例:
          testsync

          5、用crontab建立腳本,例:0 21 * * 1-5 rsync -vzrtp --progress --delete --password-file=/etc/test rsynctest@192.168.1.10::test /home/rsynctest

          rsync中的參數(shù):v是verbose,z是壓縮,r是recursive,tp都是保持文件原有屬性如屬主、時間
          的參數(shù)。--progress是指顯示出詳細(xì)的進(jìn)度情況,--delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致。--password-file=/etc/test來指定密碼文件,這樣就可以在腳本中使
          用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有屬主可讀(600)。

          rsynctest@192.168.1.10中,rsynctest是指定密碼文件中的用戶名,192.168.1.10是A主機(jī)的IP地 址::test是指模塊名[test],也就是在/etc/rsyncd.conf中自定義的名稱。最后的/home/rsynctest是備份到本地的 目錄名。
          (也可以用-e ssh的參數(shù)建立起加密的連接,然后和scp中信任主機(jī)的辦法一樣如法炮制)
          (在上面實例中的rsynctest并不是真實的用戶,可以根據(jù)自己需要文本定義,這也是使用rsync的一大好處)

          rsync的特點(diǎn):
          特性如下:

          1、可以鏡像保存整個目錄樹和文件系統(tǒng)。
          2、可以很容易做到保持原來文件的權(quán)限、時間、軟硬鏈接等等。
          3、無須特殊權(quán)限即可安裝。
          4、優(yōu)化的流程,文件傳輸效率高。
          5、可以使用rcp、ssh等方式來傳輸文件,當(dāng)然也可以通過直接的socket連接。
          6、支持匿名傳輸。

          rsync的功能還很強(qiáng)大,深入的眼就可以到官方網(wǎng)站上了解。
          posted on 2008-10-02 11:33 Blog of JoJo 閱讀(2564) 評論(0)  編輯  收藏 所屬分類: Linux 技術(shù)相關(guān)

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永春县| 塘沽区| 集贤县| 五家渠市| 巴东县| 靖江市| 宜昌市| 阜宁县| 青海省| 木兰县| 石河子市| 嘉善县| 泾阳县| 兴城市| 三台县| 波密县| 田林县| 深泽县| 什邡市| 连州市| 兴仁县| 家居| 中西区| 竹山县| 新密市| 武山县| 乌苏市| 绥江县| 犍为县| 杭锦旗| 白河县| 钦州市| 屏东市| 大田县| 江北区| 麦盖提县| 南城县| 怀安县| 汉源县| 沂水县| 乃东县|