ວິທີການຊິ້ງຂໍ້ມູນເອກະສານ/ໄດເລກະທໍລີໂດຍໃຊ້ Rsync ກັບພອດ SSH ທີ່ບໍ່ໄດ້ມາດຕະຖານ


ມື້ນີ້, ພວກເຮົາຈະມາລົມກັນກ່ຽວກັບວິທີການຊິ້ງຂໍ້ມູນເອກະສານໂດຍໃຊ້ rsync ກັບພອດ SSH ທີ່ບໍ່ໄດ້ມາດຕະຖານ. ທ່ານອາດຈະສົງໄສວ່າເປັນຫຍັງພວກເຮົາ ຈຳ ເປັນຕ້ອງໃຊ້ພອດ SSH ທີ່ບໍ່ໄດ້ມາດຕະຖານ? ມັນແມ່ນຍ້ອນເຫດຜົນດ້ານຄວາມປອດໄພ. ທຸກໆຄົນຮູ້ວ່າ 22 ແມ່ນພອດເລີ່ມຕົ້ນຂອງ SSH.

ດັ່ງນັ້ນ, ມັນ ຈຳ ເປັນທີ່ຈະຕ້ອງປ່ຽນເລກພອດເລີ່ມຕົ້ນຂອງ SSH ຂອງທ່ານໄປເປັນສິ່ງທີ່ແຕກຕ່າງກັນເຊິ່ງຍາກທີ່ຈະຄາດເດົາໄດ້. ໃນກໍລະນີດັ່ງກ່າວ, ທ່ານຈະປະສົມປະສານແຟ້ມເອກະສານ/ແຟ້ມຂໍ້ມູນຂອງທ່ານກັບເຄື່ອງແມ່ຂ່າຍ Remote ຂອງທ່ານໄດ້ແນວໃດ? ບໍ່ມີຄວາມກັງວົນໃຈ, ມັນບໍ່ແມ່ນເລື່ອງຍາກເລີຍ. ນີ້ພວກເຮົາຈະເຫັນວິທີການຊິ້ງຂໍ້ມູນແຟ້ມແລະແຟ້ມໂດຍໃຊ້ rsync ກັບພອດ SSH ທີ່ບໍ່ແມ່ນມາດຕະຖານ.

ຄືກັບທີ່ທ່ານອາດຈະຮູ້, rsync, ເຊິ່ງເອີ້ນກັນວ່າ Remote Sync, ແມ່ນເຄື່ອງມືທີ່ໄວ, ມີຄວາມຄ່ອງແຄ້ວແລະມີປະສິດຕິພາບສູງທີ່ສາມາດໃຊ້ເພື່ອ ສຳ ເນົາແລະຊິ້ງຂໍ້ມູນແຟ້ມເອກະສານ/ລາຍຊື່ຈາກທ້ອງຖິ່ນຫາທ້ອງຖິ່ນ, ຫລືທ້ອງຖິ່ນເຖິງໂຮດຫ່າງໄກສອກຫຼີກ. ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບ rsync, ກວດເບິ່ງ ໜ້າ man:

# man rsync

ຫຼືເບິ່ງຄູ່ມືແນະ ນຳ ທີ່ຜ່ານມາຂອງພວກເຮົາຈາກລິງຂ້າງລຸ່ມນີ້.

<

  • Rsync: 10 ຕົວຢ່າງພາກປະຕິບັດຂອງ Rsync Command ໃນ Linux
  • ປ່ຽນ Port SSH ໄປທີ່ Port ທີ່ບໍ່ແມ່ນມາດຕະຖານ

    ດັ່ງທີ່ພວກເຮົາທຸກຄົນຮູ້, ໂດຍຄ່າເລີ່ມຕົ້ນ rsync ໃຊ້ພອດ SSH ຕັ້ງ 22 ເພື່ອຊິ້ງຂໍ້ມູນແຟ້ມເອກະສານຕ່າງໆໃນທ້ອງຖິ່ນເຖິງໂຮດຫ່າງໄກສອກຫຼີກແລະກົງກັນຂ້າມ. ພວກເຮົາຄວນປ່ຽນແປງພອດ SSH ຂອງເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກເພື່ອຮັດ ແໜ້ນ ຄວາມປອດໄພ.

    ເພື່ອເຮັດສິ່ງນີ້, ເປີດແລະແກ້ໄຂເອກະສານການຕັ້ງຄ່າ SSH/etc/ssh/sshd_config:

    # vi /etc/ssh/sshd_config 
    

    ຊອກຫາເສັ້ນຕໍ່ໄປນີ້. ຄວາມບໍ່ລົງລອຍກັນແລະປ່ຽນເລກທ່າເຮືອທີ່ທ່ານເລືອກ. ຂ້າພະເຈົ້າແນະ ນຳ ໃຫ້ທ່ານເລືອກເລກໃດທີ່ຍາກທີ່ຈະຄາດເດົາໄດ້.

    ຮັບປະກັນວ່າທ່ານ ກຳ ລັງໃຊ້ຕົວເລກທີ່ເປັນເອກະລັກເຊິ່ງບໍ່ໄດ້ຖືກ ນຳ ໃຊ້ໂດຍບໍລິການທີ່ມີຢູ່ແລ້ວ. ກວດເບິ່ງບົດຂຽນ netstat ນີ້ເພື່ອຈະຮູ້ວ່າມີການບໍລິການໃດທີ່ໃຊ້ພອດ TCP/UDP.

    ຍົກຕົວຢ່າງ, ຢູ່ນີ້ຂ້ອຍໃຊ້ ໝາຍ ເລກພອດ 1431.

    [...]
    Port 1431
    [...]
    

    ບັນທຶກແລະປິດແຟ້ມ.

    ໃນລະບົບທີ່ອີງໃສ່ RPM ເຊັ່ນ RHEL, CentOS, ແລະ Scientific Linux 7, ທ່ານ ຈຳ ເປັນຕ້ອງອະນຸຍາດໃຫ້ພອດ ໃໝ່ ຜ່ານ firewall ຫຼື router ຂອງທ່ານ.

    # firewall-cmd --add-port 1431/tcp
    # firewall-cmd --add-port 1431/tcp --permanent
    

    ໃນ RHEL/CentOS/Scientific Linux 6 ແລະສູງກວ່າ, ທ່ານຍັງຄວນປັບປຸງການອະນຸຍາດ selinux ເພື່ອອະນຸຍາດໃຫ້ພອດ.

    # iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1431 -j ACCEPT
    # semanage port -a -t ssh_port_t -p tcp 1431
    

    ສຸດທ້າຍ, ເລີ່ມການບໍລິການ SSH ເພື່ອມີຜົນຕໍ່ການປ່ຽນແປງ.

    # systemctl restart sshd        [On SystemD]
    OR
    # service sshd restart          [On SysVinit]
    

    ຕອນນີ້ໃຫ້ພວກເຮົາເບິ່ງວິທີການຊິງໄຟລ໌ໂດຍໃຊ້ rsync ກັບພອດທີ່ບໍ່ແມ່ນມາດຕະຖານ.

    ວິທີການ Rsync ກັບ Port SSH ທີ່ບໍ່ແມ່ນມາດຕະຖານ

    ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ຈາກປາຍເພື່ອ sync ໄຟລ໌/ແຟ້ມຕ່າງໆໂດຍໃຊ້ Rsync ກັບພອດ ssh ທີ່ບໍ່ແມ່ນມາດຕະຖານ.

    # rsync -arvz -e 'ssh -p <port-number>' --progress --delete [email :/path/to/remote/folder /path/to/local/folder
    

    ສຳ ລັບຈຸດປະສົງຂອງບົດແນະ ນຳ ນີ້, ຂ້ອຍຈະ ນຳ ໃຊ້ສອງລະບົບ.

    IP Address: 192.168.1.103
    User name: tecmint
    Sync folder: /backup1
    
    Operating System: Ubuntu 14.04 Desktop
    IP Address: 192.168.1.100
    Sync folder: /home/sk/backup2
    

    ໃຫ້ພວກເຮົາຮວບຮວມເນື້ອໃນຂອງໂຟນເດີ /backup1 ຂອງເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກໄປຫາໂຟນເດີລະບົບທ້ອງຖິ່ນຂອງຂ້ອຍ /home/sk/backup2/.

    $ sudo rsync -arvz -e 'ssh -p 1431' --progress --delete [email :/backup1 /home/sk/backup2
    
    [email 's password: 
    receiving incremental file list
    backup1/
    backup1/linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
            752,876 100%   13.30MB/s    0:00:00 (xfr#1, to-chk=2/4)
    backup1/linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
          9,676,510 100%   12.50MB/s    0:00:00 (xfr#2, to-chk=1/4)
    backup1/linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
         56,563,302 100%   11.26MB/s    0:00:04 (xfr#3, to-chk=0/4)
    
    sent 85 bytes  received 66,979,455 bytes  7,050,477.89 bytes/sec
    total size is 66,992,688  speedup is 1.00.
    

    ໃຫ້ພວກເຮົາກວດເບິ່ງເນື້ອໃນຂອງໂຟນເດີ /backup1/ ໃນເຊີຟເວີຫ່າງໄກສອກຫຼີກ.

    $ sudo ls -l /backup1/
    
    total 65428
    -rw-r--r-- 1 root root  9676510 Dec  9 13:44 linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
    -rw-r--r-- 1 root root   752876 Dec  9 13:44 linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
    -rw-r--r-- 1 root root 56563302 Dec  9 13:44 linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
    

    ດຽວນີ້, ໃຫ້ພວກເຮົາກວດເບິ່ງເນື້ອໃນຂອງໂຟນເດີ /backup2/ ຂອງລະບົບທ້ອງຖິ່ນ.

    $ ls /home/sk/backup2/
    
    backup1
    

    ດັ່ງທີ່ທ່ານເຫັນໃນຜົນໄດ້ຮັບຂ້າງເທິງ, ເນື້ອໃນຂອງລະຫັດ /backup1/ ໄດ້ຖືກຄັດລອກໄປທີ່ລະບົບລະບົບທ້ອງຖິ່ນຂອງຂ້ອຍ/ລະຫັດ/home/sk/backup2/.

    ກວດສອບເນື້ອໃນຂອງໂຟນເດີ /backup1/:

    $ ls /home/sk/backup2/backup1/
    
    linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb            
    linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
    linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
    

    ເບິ່ງ, ທັງລະບົບແຟ້ມຂອງລະບົບຫ່າງໄກສອກຫຼີກແລະທ້ອງຖິ່ນມີເອກະສານດຽວກັນ.

    ສະຫຼຸບ

    ການຊິ້ງຂໍ້ມູນແຟ້ມເອກະສານ/ແຟ້ມໂດຍໃຊ້ Rsync ກັບ SSH ບໍ່ພຽງແຕ່ງ່າຍດາຍ, ແຕ່ຍັງມີວິທີການທີ່ໄວແລະປອດໄພ. ຖ້າທ່ານຢູ່ເບື້ອງຫລັງ firewall ທີ່ ຈຳ ກັດພອດ 22, ບໍ່ຕ້ອງກັງວົນເລີຍ. ພຽງແຕ່ປ່ຽນພອດທີ່ຕັ້ງໄວ້ຕອນຕົ້ນແລະຊິ້ງຂໍ້ມູນແຟ້ມຄືກັບໂປຼແກຼມສົ່ງເສີມ.