ວິທີການຕັ້ງຄ່າການເຊື່ອມຕໍ່ SSH ທີ່ ເໝາະ ສົມເພື່ອເຮັດໃຫ້ການເຂົ້າເຖິງຫ່າງໄກສອກຫຼີກງ່າຍຂື້ນ


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

SSH ໃຊ້ທັງລະບົບທັງລະບົບພ້ອມທັງເອກະສານການຕັ້ງຄ່າ (ແບບພິເສດ) ຂອງຜູ້ໃຊ້. ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການສ້າງເອກະສານການຕັ້ງຄ່າ ssh ທີ່ ກຳ ຫນົດເອງແລະໃຊ້ຕົວເລືອກທີ່ແນ່ນອນເພື່ອເຊື່ອມຕໍ່ກັບໂຮດຫ່າງໄກສອກຫຼີກ.

<

  • ທ່ານຕ້ອງໄດ້ຕິດຕັ້ງ OpenSSH ລູກຄ້າໃນ desktop Linux ຂອງທ່ານ.
  • ເຂົ້າໃຈຕົວເລືອກທົ່ວໄປທີ່ໃຊ້ ສຳ ລັບການເຊື່ອມຕໍ່ໄລຍະໄກຜ່ານທາງ ssh.
  • ຂ້າງລຸ່ມນີ້ແມ່ນທີ່ຕັ້ງຂອງແຟ້ມການຕັ້ງຄ່າຂອງລູກຄ້າ ssh:

    <

  • /etc/ssh/ssh_config - ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ, ໄຟລ໌ການຕັ້ງຄ່າທົ່ວລະບົບ. ມັນມີການຕັ້ງຄ່າທີ່ໃຊ້ກັບຜູ້ໃຊ້ທັງ ໝົດ ຂອງເຄື່ອງລູກຄ້າ ssh.
  • ~/.ssh/config ຫຼື $HOME/.ssh/config ແມ່ນເອກະສານການຕັ້ງຄ່າຕາມຄວາມຕ້ອງການຂອງຜູ້ໃຊ້. ມັນມີການຕັ້ງຄ່າທີ່ໃຊ້ກັບຜູ້ໃຊ້ສະເພາະ. ສະນັ້ນມັນ overrides ການຕັ້ງຄ່າເລີ່ມຕົ້ນໃນໄຟລ໌ config-wide-file. ນີ້ແມ່ນເອກະສານທີ່ພວກເຮົາຈະສ້າງແລະ ນຳ ໃຊ້.
  • ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜູ້ໃຊ້ໄດ້ຮັບການກວດສອບໃນ ssh ໂດຍໃຊ້ລະຫັດຜ່ານ, ຢ່າງໃດກໍ່ຕາມ, ທ່ານສາມາດຕັ້ງຄ່າການເຂົ້າສູ່ລະບົບແບບບໍ່ມີລະຫັດ ssh ໂດຍໃຊ້ ssh keygen ໃນ 5 ຂັ້ນຕອນງ່າຍໆ.

    ໝາຍ ເຫດ: ໃນກໍລະນີທີ່ໄດເລກະທໍລີ ~/.ssh ບໍ່ມີຢູ່ໃນລະບົບຄອມພິວເຕີຂອງທ່ານ, ສ້າງມັນໂດຍມີການອະນຸຍາດຕໍ່ໄປນີ້.

    $ mkdir -p ~/.ssh
    $ chmod 0700 ~/.ssh   
    

    ຄໍາສັ່ງ chmod ຂ້າງເທິງນີ້ຫມາຍຄວາມວ່າຜູ້ໃຊ້ສາມາດອ່ານ, ຂຽນແລະປະຕິບັດການອະນຸຍາດໃນໄດເລກະທໍລີຕາມຄວາມຕ້ອງການຂອງການຕັ້ງຄ່າ ssh.

    ວິທີການສ້າງເອກະສານການຕັ້ງຄ່າ SSH ສະເພາະຂອງຜູ້ໃຊ້

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

    $ touch ~/.ssh/config
    $ chmod 0700 ~/.ssh/config
    

    ເອກະສານຂ້າງເທິງນີ້ປະກອບມີພາກຕ່າງໆທີ່ໄດ້ ກຳ ນົດໄວ້ໂດຍຂໍ້ສະເພາະຂອງເຈົ້າພາບ, ແລະສ່ວນໃດສ່ວນ ໜຶ່ງ ແມ່ນໃຊ້ກັບເຈົ້າພາບທີ່ກົງກັບ ໜຶ່ງ ໃນຮູບແບບທີ່ ກຳ ນົດໄວ້ໃນຂໍ້ ກຳ ນົດ.

    ຮູບແບບ ທຳ ມະດາຂອງ ~/.ssh/config ແມ່ນດັ່ງຕໍ່ໄປນີ້, ແລະທຸກຊ່ອງວ່າງພ້ອມທັງສາຍເລີ່ມຕົ້ນດ້ວຍ ‘# # ຖືກພິຈາລະນາເປັນ ຄຳ ເຫັນ:

    Host    host1
    	ssh_option1=value1
    	ssh_option2=value1 value2
    	ssh_option3=value1 
    
    Host    host2
    	ssh_option1=value1
    	ssh_option2=value1 value2
    
    Host  *
    	ssh_option1=value1
    	ssh_option2=value1 value2
    

    ຈາກຮູບແບບຂ້າງເທິງ:

    <

  • ການເປັນເຈົ້າພາບ host1 - ແມ່ນ ຄຳ ນິຍາມຂອງຫົວຂໍ້ ສຳ ລັບ host1, ນີ້ແມ່ນບ່ອນທີ່ການ ກຳ ນົດໂຮດຕິ້ງເລີ່ມຕົ້ນແລະມັນສິ້ນສຸດດ້ວຍ ຄຳ ນິຍາມຫົວຂໍ້ຕໍ່ໄປ, ການເປັນເຈົ້າພາບຂອງ host2 ເຮັດສ່ວນ ໜຶ່ງ.
  • host1, host2 ແມ່ນພຽງແຕ່ນາມແຝງທີ່ເປັນເຈົ້າພາບເພື່ອໃຊ້ໃນບັນທັດ ຄຳ ສັ່ງ, ມັນບໍ່ແມ່ນຊື່ໂຮດທີ່ແທ້ຈິງຂອງໂຮດຫ່າງໄກສອກຫຼີກ.
  • ຕົວເລືອກການຕັ້ງຄ່າເຊັ່ນ: ssh_option1 = ມູນຄ່າ 1, ssh_option2 = ມູນຄ່າ 1 ມູນຄ່າ 2 ໃຊ້ກັບໂຮດທີ່ຈັບຄູ່ແລະຄວນຈະໄດ້ຮັບການສະແດງແບບ ສຳ ລັບການຈັດຮູບແບບທີ່ດີ.
  • ສຳ ລັບຕົວເລືອກເຊັ່ນ ssh_option2 = ມູນຄ່າ 1 ມູນຄ່າ 2, ມູນຄ່າຂອງມູນຄ່າ 1 ແມ່ນຖືກພິຈາລະນາກ່ອນ, ຈາກນັ້ນໃຫ້ຄຸນຄ່າ 2.
  • ຫົວຂໍ້ນິຍາມຫົວຂໍ້ * (ບ່ອນທີ່ * ແມ່ນຮູບແບບ - ຕົວອັກສອນ ທຳ ມະດາທີ່ກົງກັບເລກສູນຫລືຫລາຍກວ່າຕົວອັກສອນ) ຈະກົງກັບສູນຫລືຫລາຍກວ່າເຈົ້າພາບ.

    ຍັງພິຈາລະນາຮູບແບບຂ້າງເທິງ, ນີ້ແມ່ນວິທີການ ssh ອ່ານເອກະສານ config. ຖ້າທ່ານປະຕິບັດ ຄຳ ສັ່ງ ssh ເພື່ອເຂົ້າເຖິງ host1 ຈາກໄລຍະໄກດັ່ງນັ້ນ:

    $ ssh host1
    

    ຄຳ ສັ່ງ ssh ຂ້າງເທິງນີ້ຈະເຮັດສິ່ງຕໍ່ໄປນີ້:

    <

  • ກົງກັບ hostias ນາມແຝງ host1 ໃນແຟ້ມ config ແລະ ນຳ ໃຊ້ຕົວເລືອກທີ່ ກຳ ນົດໄວ້ພາຍໃຕ້ຫົວຂໍ້ນິຍາມ, Host host1.
  • ຫຼັງຈາກນັ້ນຍ້າຍໄປຫາພາກສ່ວນເຈົ້າພາບຕໍ່ໄປ, host host2 ແລະພົບວ່າຊື່ທີ່ຕັ້ງຢູ່ໃນເສັ້ນ ຄຳ ສັ່ງບໍ່ກົງກັນ, ດັ່ງນັ້ນບໍ່ມີທາງເລືອກໃດໆທີ່ຈະໃຊ້ຈາກບ່ອນນີ້.
  • ມັນກ້າວໄປເຖິງພາກສຸດທ້າຍ, Host *, ເຊິ່ງກົງກັບເຈົ້າພາບທັງ ໝົດ. ໃນນີ້, ມັນ ນຳ ໃຊ້ທຸກທາງເລືອກໃນສ່ວນນີ້ເຂົ້າໃນການເຊື່ອມຕໍ່ໂຮດ. ແຕ່ມັນບໍ່ສາມາດປະຕິເສດຄ່າຂອງຕົວເລືອກໃດໆທີ່ບ່ອນທີ່ໄດ້ ນຳ ໃຊ້ມາແລ້ວໃນພາກກ່ອນ ໜ້າ ນີ້.
  • ດຽວກັນນີ້ໃຊ້ກັບ host2.
  • ວິທີການ ນຳ ໃຊ້ເອກະສານການຕັ້ງຄ່າ SSH ສະເພາະຂອງຜູ້ໃຊ້

    ເມື່ອທ່ານເຂົ້າໃຈດີວ່າແຟ້ມ config ຂອງລູກຄ້າ ssh ເຮັດວຽກໄດ້ແນວໃດ, ທ່ານສາມາດສ້າງມັນໄດ້ດັ່ງຕໍ່ໄປນີ້. ຢ່າລືມໃຊ້ຕົວເລືອກແລະຄຸນຄ່າຕ່າງໆ (ນາມແຝງເຈົ້າພາບ, ເລກທີ່ Port, ຊື່ຜູ້ໃຊ້ແລະອື່ນໆ) ໃຊ້ໄດ້ກັບສະພາບແວດລ້ອມຂອງເຊີບເວີຂອງທ່ານ.

    ເປີດເອກະສານ config ກັບບັນນາທິການທີ່ທ່ານມັກ:

    $ vi ~/.ssh/config
    

    ແລະ ກຳ ນົດພາກສ່ວນທີ່ ຈຳ ເປັນ:

    Host fedora25
            HostName 192.168.56.15
            Port 22
            ForwardX11 no
    
    Host centos7
            HostName 192.168.56.10
            Port 22
            ForwardX11 no
    
    Host ubuntu
            HostName 192.168.56.5
            Port 2222
            ForwardX11 yes
    
    Host *
            User tecmint
            IdentityFile ~/.ssh/id_rsa
            Protocol 2
            Compression yes
            ServerAliveInterval 60
            ServerAliveCountMax 20
            LogLevel INFO
    

    ຄໍາອະທິບາຍລະອຽດຂອງຕົວເລືອກການຕັ້ງຄ່າ ssh ຂ້າງເທິງ.

    <

  • HostName - ກຳ ນົດຊື່ໂຮດທີ່ແທ້ຈິງທີ່ຈະເຂົ້າສູ່ລະບົບ, ອີກທາງເລືອກ, ທ່ານສາມາດໃຊ້ທີ່ຢູ່ IP ເປັນຕົວເລກ, ມັນຍັງໄດ້ຮັບອະນຸຍາດ (ທັງໃນເສັ້ນ ຄຳ ສັ່ງແລະໃນຂໍ້ ກຳ ນົດຂອງ HostName).
  • ຜູ້ໃຊ້ - ລະບຸຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບເປັນ.
  • Port - ຕັ້ງ ໝາຍ ເລກພອດເພື່ອເຊື່ອມຕໍ່ກັບ host ຫ່າງໄກສອກຫຼີກ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 22. ໃຊ້ ໝາຍ ເລກພອດທີ່ຕັ້ງໄວ້ໃນແຟ້ມ config sshd ຂອງໂຮດຫ່າງໄກສອກຫຼີກ.
  • ອະນຸສັນຍາ - ຕົວເລືອກນີ້ ກຳ ນົດສະບັບຂອງໂປໂຕຄອນ ssh ຄວນສະ ໜັບ ສະ ໜູນ ຕາມຄວາມຕ້ອງການ. ຄຸນຄ່າທີ່ປົກກະຕິແມ່ນ '1' ແລະ '2', ຫຼາຍສະບັບຕ້ອງແຍກດ້ວຍເຄື່ອງ ໝາຍ ຈຸດ.
  • IdentityFile - ລະບຸເອກະສານທີ່ເອກະສານທີ່ DSA, Ed25519, RSA ຫຼື ECDSA ຂອງຜູ້ໃຊ້ຖືກອ່ານ.
  • ForwardX11 - ກຳ ນົດວ່າການເຊື່ອມຕໍ່ X11 ຈະຖືກໂອນໂດຍອັດຕະໂນມັດຜ່ານຊ່ອງທາງທີ່ປອດໄພແລະ DISPLAY ທີ່ຕັ້ງໄວ້ຫຼືບໍ່. ມັນມີສອງຄຸນຄ່າທີ່ເປັນໄປໄດ້ແມ່ນ "ແມ່ນແລ້ວ" ຫຼື "ບໍ່".
  • ການບີບອັດ - ມັນຖືກໃຊ້ເພື່ອ ກຳ ນົດການບີບອັດໃນໄລຍະເຊື່ອມຕໍ່ຫ່າງໄກສອກຫຼີກກັບຄ່າ“ ແມ່ນແລ້ວ”. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ບໍ່".
  • ServerAliveInterval - ກຳ ນົດໄລຍະເວລາ ໝົດ ເວລາພາຍໃນວິນາທີຫຼັງຈາກນັ້ນຖ້າບໍ່ມີການຕອບຮັບ (ຫຼືຂໍ້ມູນ) ຈາກ server, ssh ຈະສົ່ງຂໍ້ຄວາມຜ່ານຊ່ອງທາງທີ່ເຂົ້າລະຫັດເພື່ອຂໍການຕອບຮັບຈາກ server. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ໝາຍ ຄວາມວ່າບໍ່ມີຂໍ້ຄວາມໃດໆທີ່ຈະຖືກສົ່ງໄປຫາເຊີບເວີ, ຫຼື 300 ຖ້າຕົວເລືອກ BatchMode ຖືກ ກຳ ນົດ.
  • ServerAliveCountMax - ກຳ ນົດ ຈຳ ນວນຂໍ້ຄວາມທີ່ຍັງມີຊີວິດຂອງເຊີບເວີເຊິ່ງອາດຈະຖືກສົ່ງໂດຍບໍ່ຕ້ອງຮັບຂໍ້ສະ ເໜີ ໃດໆຈາກເຊີບເວີ.
  • LogLevel - ກຳ ນົດລະດັບ verbosity ທີ່ໃຊ້ໃນເວລາທີ່ຕັດຂໍ້ຄວາມຈາກ ssh. ຄ່າທີ່ອະນຸຍາດປະກອບມີ: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, ແລະ DEBUG3. ແລະຄ່າເລີ່ມຕົ້ນແມ່ນ INFO.
  • ວິທີການມາດຕະຖານຂອງການເຊື່ອມຕໍ່ກັບ Linux host ຫ່າງໄກສອກຫຼີກໃດໆ (CentOS 7 - ໃນກໍລະນີຂອງຂ້ອຍ), ທີ່ຖືກ ກຳ ນົດໃນພາກສອງຂອງເອກະສານ config ຂ້າງເທິງ, ພວກເຮົາຈະພິມ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້:

    $ ssh -i ~/.ssh/id_rsa -p 22 [email 
    

    ເຖິງຢ່າງໃດກໍ່ຕາມ, ດ້ວຍການໃຊ້ເອກະສານການຕັ້ງຄ່າຂອງລູກຄ້າ ssh, ພວກເຮົາສາມາດພິມ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້:

    $ ssh centos7 
    

    ທ່ານສາມາດຊອກຫາຕົວເລືອກເພີ່ມເຕີມແລະຕົວຢ່າງການ ນຳ ໃຊ້ໃນ ໜ້າ man ssh client config:

    $man ssh_config
    

    ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້, ໃນ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາໄດ້ອະທິບາຍໃຫ້ທ່ານຮູ້ວິທີການ ນຳ ໃຊ້ແຟ້ມເອກະສານ config client ssh ໃນ Linux. ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຂຽນກັບພວກເຮົາກ່ຽວກັບບົດຂຽນນີ້.