ຊຸດ RHCSA: ຮັບປະກັນ SSH, ການຕັ້ງຄ່າຊື່ໂຮດຕິ້ງແລະເປີດໃຊ້ບໍລິການເຄືອຂ່າຍ - ພາກທີ 8


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

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

ນອກຈາກນັ້ນ, ໃນບົດຄວາມນີ້ພວກເຮົາຍັງຈະທົບທວນຄືນວິທີການຕັ້ງຄ່າການບໍລິການເຄືອຂ່າຍເພື່ອເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດແລະເລີ່ມຮຽນຮູ້ການຕັ້ງລະບົບເຄືອຂ່າຍແລະຄວາມລະອຽດຂອງ hostname ຢ່າງເປັນຮູບແບບຫລືແບບເຄື່ອນໄຫວ.

ການຕິດຕັ້ງແລະຮັບປະກັນການສື່ສານ SSH

ເພື່ອໃຫ້ທ່ານສາມາດເຂົ້າສູ່ລະບົບຫ່າງໄກສອກຫຼີກເຂົ້າໄປໃນກ່ອງ RHEL 7 ໂດຍໃຊ້ SSH, ທ່ານຈະຕ້ອງຕິດຕັ້ງ opensh, openssh-clients ແລະ opensh-servers. ຄຳ ສັ່ງຕໍ່ໄປນີ້ບໍ່ພຽງແຕ່ຕິດຕັ້ງໂປແກຼມເຂົ້າສູ່ລະບົບຫ່າງໄກສອກຫຼີກເທົ່ານັ້ນ, ແຕ່ຍັງມີເຄື່ອງມືການໂອນໄຟລ໌ທີ່ປອດໄພ, ພ້ອມທັງເຄື່ອງມື ສຳ ເນົາເອກະສານຫ່າງໄກ:

# yum update && yum install openssh openssh-clients openssh-servers

ໃຫ້ສັງເກດວ່າມັນເປັນຄວາມຄິດທີ່ດີທີ່ຈະຕິດຕັ້ງຄູ່ຮ່ວມງານຂອງເຊີຟເວີຍ້ອນວ່າທ່ານອາດຈະຕ້ອງການໃຊ້ເຄື່ອງດຽວກັນກັບທັງລູກຄ້າແລະເຄື່ອງແມ່ຂ່າຍໃນບາງຈຸດຫລືບ່ອນອື່ນ.

ຫລັງຈາກຕິດຕັ້ງແລ້ວ, ມີສອງຢ່າງຂອງສິ່ງພື້ນຖານທີ່ທ່ານຕ້ອງ ຄຳ ນຶງເຖິງຖ້າທ່ານຕ້ອງການຮັບປະກັນການເຂົ້າເຖິງເຊີບເວີ SSH ຂອງທ່ານຫ່າງໄກສອກຫຼີກ. ການຕັ້ງຄ່າຕໍ່ໄປນີ້ຄວນຈະມີຢູ່ໃນແຟ້ມ /etc/ssh/sshd_config .

1. ປ່ຽນພອດບ່ອນທີ່ daemon sshd ຈະຟັງຈາກ 22 (ຄ່າເລີ່ມຕົ້ນ) ໄປເປັນພອດທີ່ສູງ (2000 ຫຼືສູງກວ່າ) ແຕ່ ທຳ ອິດໃຫ້ແນ່ໃຈວ່າພອດທີ່ເລືອກບໍ່ຖືກ ນຳ ໃຊ້.

ຍົກຕົວຢ່າງ, ສົມມຸດວ່າທ່ານເລືອກ port 2500. ໃຊ້ netstat ເພື່ອກວດເບິ່ງວ່າທ່າເຮືອທີ່ທ່ານເລືອກຖືກ ນຳ ໃຊ້ຫຼືບໍ່:

# netstat -npltu | grep 2500

ຖ້າ netstat ບໍ່ສົ່ງຄືນຫຍັງ, ທ່ານສາມາດໃຊ້ພອດ 2500 ສຳ ລັບ sshd ຢ່າງປອດໄພ, ແລະທ່ານຄວນປ່ຽນການຕັ້ງຄ່າ Port ໃນແຟ້ມການຕັ້ງຄ່າດັ່ງຕໍ່ໄປນີ້:

Port 2500

2. ອະນຸຍາດໃຫ້ອະນຸສັນຍາ 2 ເທົ່ານັ້ນ:

Protocol 2

3. ຕັ້ງຄ່າເວລາໃນການກວດສອບຄວາມຖືກຕ້ອງເປັນເວລາ 2 ນາທີ, ຢ່າອະນຸຍາດໃຫ້ເຂົ້າສູ່ລະບົບຮາກແລະ ຈຳ ກັດ ຈຳ ນວນລາຍຊື່ຜູ້ໃຊ້ທີ່ຖືກອະນຸຍາດໃຫ້ເຂົ້າຜ່ານລະບົບ ssh:

LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. ຖ້າເປັນໄປໄດ້, ໃຊ້ຫຼັກທີ່ອີງໃສ່ລະຫັດແທນການກວດສອບລະຫັດຜ່ານ:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

ສິ່ງນີ້ສົມມຸດວ່າທ່ານໄດ້ສ້າງຄູ່ ສຳ ຄັນພ້ອມດ້ວຍຊື່ຜູ້ໃຊ້ຂອງທ່ານຢູ່ໃນເຄື່ອງລູກຄ້າຂອງທ່ານແລະຄັດລອກມັນໄວ້ໃນເຊີບເວີຂອງທ່ານຕາມທີ່ໄດ້ອະທິບາຍຢູ່ນີ້.

<

  • ເປີດໃຊ້ SSH ເຂົ້າລະຫັດຜ່ານແບບບໍ່ມີລະຫັດ
  • ການ ກຳ ຫນົດຄ່າເຄືອຂ່າຍແລະການແກ້ໄຂຊື່

    1. ຜູ້ບໍລິຫານລະບົບທຸກຄົນຄວນຈະຮູ້ຈັກກັບໄຟລ໌ການຕັ້ງຄ່າທີ່ກວ້າງຂວາງຂອງລະບົບຕໍ່ໄປນີ້:

    <

  • /etc/hosts ແມ່ນໃຊ້ເພື່ອແກ້ໄຂບັນດາຊື່ຕ່າງໆ <---> IP ໃນເຄືອຂ່າຍນ້ອຍໆ.
  • ທຸກໆແຖວໃນແຟ້ມ /etc/hosts ມີໂຄງສ້າງຕໍ່ໄປນີ້:

    IP address - Hostname - FQDN
    

    ຍົກຕົວຢ່າງ,

    192.168.0.10	laptop	laptop.gabrielcanepa.com.ar
    

    2. /etc/resolv.conf ລະບຸທີ່ຢູ່ IP ຂອງເຊີຟເວີ DNS ແລະໂດເມນຄົ້ນຫາ, ເຊິ່ງໃຊ້ ສຳ ລັບການ ສຳ ເລັດຊື່ການສອບຖາມທີ່ໃຫ້ກັບຊື່ໂດເມນທີ່ມີເງື່ອນໄຂເຕັມທີ່ເມື່ອບໍ່ມີການສະ ໜອງ ໂດເມນ.

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

    nameserver - IP address
    

    ຍົກຕົວຢ່າງ,

    nameserver 8.8.8.8
    

    3. 3. /etc/host.conf ລະບຸວິທີການແລະ ຄຳ ສັ່ງທີ່ hostnames ຖືກແກ້ໄຂພາຍໃນເຄືອຂ່າຍ. ເວົ້າອີກຢ່າງ ໜຶ່ງ, ບອກຜູ້ແກ້ໄຂຊື່ວ່າບໍລິການໃດທີ່ຈະໃຊ້, ແລະຕາມ ລຳ ດັບ.

    ເຖິງແມ່ນວ່າເອກະສານນີ້ມີຫລາຍທາງເລືອກ, ແຕ່ການຕັ້ງຄ່າທົ່ວໄປທີ່ສຸດແລະຂັ້ນພື້ນຖານລວມມີເສັ້ນດັ່ງຕໍ່ໄປນີ້:

    order bind,hosts
    

    ເຊິ່ງສະແດງໃຫ້ເຫັນວ່າຜູ້ແກ້ໄຂຄວນເບິ່ງໃນບັນດາ nameservers ທີ່ລະບຸໄວ້ໃນລະຫັດ .

    4. /etc/sysconfig/network ມີຂໍ້ມູນເສັ້ນທາງແລະໂຮດທົ່ວໂລກ ສຳ ລັບທຸກໆອິນເຕີເຟດເຄືອຂ່າຍ. ຄຸນຄ່າຕໍ່ໄປນີ້ອາດຈະຖືກ ນຳ ໃຊ້:

    NETWORKING=yes|no
    HOSTNAME=value
    

    ບ່ອນທີ່ມີຄຸນຄ່າຄວນເປັນຊື່ໂດເມນທີ່ມີເງື່ອນໄຂຄົບຖ້ວນ (FQDN).

    GATEWAY=XXX.XXX.XXX.XXX
    

    ບ່ອນທີ່ XXX.XXX.XXX.XXX ແມ່ນທີ່ຢູ່ IP ຂອງປະຕູເຄືອຂ່າຍ.

    GATEWAYDEV=value
    

    ໃນເຄື່ອງທີ່ມີ NIC ຫຼາຍ, ຄ່າແມ່ນອຸປະກອນປະຕູ, ເຊັ່ນ enp0s3.

    5. ແຟ້ມພາຍໃນ /etc/sysconfig/ເຄືອຂ່າຍສະຄິບ (ໄຟລ໌ການຕັ້ງຄ່າດັດແປງເຄືອຂ່າຍ).

    ພາຍໃນໄດເລກະທໍລີທີ່ກ່າວມາກ່ອນ ໜ້າ ນີ້, ທ່ານຈະພົບເຫັນເອກະສານຂໍ້ຄວາມ ທຳ ມະດາຫຼາຍຊື່.

    ifcfg-name
    

    ບ່ອນທີ່ຊື່ແມ່ນຊື່ຂອງ NIC ທີ່ສົ່ງກັບຄືນໂດຍ ip link show:

    ຍົກຕົວຢ່າງ:

    ອື່ນກ່ວາສໍາລັບການໂຕ້ຕອບ loopback, ທ່ານສາມາດຄາດຫວັງວ່າການຕັ້ງຄ່າທີ່ຄ້າຍຄືກັນສໍາລັບ NICs ຂອງທ່ານ. ໃຫ້ສັງເກດວ່າບາງຕົວແປ, ຖ້າ ກຳ ນົດ, ຈະ override ຜູ້ທີ່ມີຢູ່ໃນ /etc/sysconfig/network ສຳ ລັບອິນເຕີເຟດນີ້. ແຕ່ລະສາຍມີ ຄຳ ເຫັນເພື່ອຄວາມກະຈ່າງແຈ້ງໃນບົດຄວາມນີ້ແຕ່ໃນເອກະສານຕົວຈິງທ່ານຄວນຫລີກລ້ຽງ ຄຳ ເຫັນຕ່າງໆ:

    HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
    TYPE=Ethernet # Type of connection
    BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
    IPADDR=192.168.0.18
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
    NAME=enp0s3
    UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
    ONBOOT=yes # The operating system should bring up this NIC during boot
    

    ການຕັ້ງຄ່າ Hostnames

    ໃນ Red Hat Enterprise Linux 7, ຄຳ ສັ່ງ hostnamectl ແມ່ນໃຊ້ ສຳ ລັບທັງການສອບຖາມແລະຕັ້ງຄ່າ hostname ຂອງລະບົບ.

    ເພື່ອສະແດງຊື່ໂຮດໃນປະຈຸບັນ, ພິມ:

    # hostnamectl status
    

    ເພື່ອປ່ຽນຊື່ໂຮດ, ໃຊ້

    # hostnamectl set-hostname [new hostname]
    

    ຍົກຕົວຢ່າງ,

    # hostnamectl set-hostname cinderella
    

    ສຳ ລັບການປ່ຽນແປງທີ່ຈະມີຜົນ, ທ່ານ ຈຳ ເປັນຕ້ອງເລີ່ມຕົ້ນໂດເມນທີ່ຕັ້ງຊື່ (ວິທີນັ້ນທ່ານຈະບໍ່ ຈຳ ເປັນຕ້ອງລົງແລະ ນຳ ໃຊ້ອີກຄັ້ງເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງນີ້):

    # systemctl restart systemd-hostnamed
    

    ນອກຈາກນັ້ນ, RHEL 7 ຍັງປະກອບມີ nmcli utility ທີ່ສາມາດໃຊ້ເພື່ອຈຸດປະສົງດຽວກັນ. ເພື່ອສະແດງ hostname, ດຳ ເນີນການ:

    # nmcli general hostname
    

    ແລະການປ່ຽນແປງມັນ:

    # nmcli general hostname [new hostname]
    

    ຍົກຕົວຢ່າງ,

    # nmcli general hostname rhel7
    

    ເລີ່ມບໍລິການເຄືອຂ່າຍໃນ Boot

    ເພື່ອຫໍ່, ໃຫ້ພວກເຮົາເບິ່ງວິທີທີ່ພວກເຮົາສາມາດຮັບປະກັນວ່າການບໍລິການເຄືອຂ່າຍໄດ້ເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດ. ໃນຄໍາສັບທີ່ງ່າຍດາຍ, ນີ້ແມ່ນເຮັດໄດ້ໂດຍການສ້າງ symlinks ກັບໄຟລ໌ທີ່ແນ່ນອນທີ່ລະບຸໄວ້ໃນສ່ວນ [ຕິດຕັ້ງ] ຂອງແຟ້ມການຕັ້ງຄ່າການບໍລິການ.

    ໃນກໍລະນີຂອງ firewalld (/usr/lib/systemd/system/firewalld.service):

    [Install]
    WantedBy=basic.target
    Alias=dbus-org.fedoraproject.FirewallD1.service
    

    ເພື່ອເປີດໃຊ້ບໍລິການ:

    # systemctl enable firewalld
    

    ໃນທາງກົງກັນຂ້າມ, ການປິດການໃຊ້ງານຂອງ firewalld ແມ່ນການ ກຳ ຈັດເຄື່ອງ ໝາຍ ຕ່າງໆ:

    # systemctl disable firewalld
    

    ສະຫຼຸບ

    ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ສະຫຼຸບວິທີການຕິດຕັ້ງແລະຮັບປະກັນການເຊື່ອມຕໍ່ຜ່ານ SSH ກັບເຊີບເວີ RHEL, ວິທີການປ່ຽນຊື່, ແລະສຸດທ້າຍວິທີການຮັບປະກັນການບໍລິການເຄືອຂ່າຍເລີ່ມຕົ້ນ. ຖ້າທ່ານສັງເກດເຫັນວ່າບໍລິການໃດ ໜຶ່ງ ລົ້ມເຫລວທີ່ຈະເລີ່ມຕົ້ນບໍ່ຖືກຕ້ອງ, ທ່ານສາມາດໃຊ້ລະບົບ systemctl -l [service] ແລະ journalctl -xn ເພື່ອແກ້ໄຂບັນຫາ.

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