ຄໍາສັ່ງ Linux / Unix: sshd

ຊື່

sshd - OpenSSH SSH daemon

Synopsis

sshd [- deiqtD46 ] [- b bits ] [- f config_file ] [- g login_grace_time ] [- h host_key_file ] [- k key_gen_time ] [- o option ] [- p port ] [- u len ]

ລາຍລະອຽດ

sshd (SSH Daemon) ແມ່ນ ໂປລແກລມ daemon ສໍາລັບ ssh (1). ໂຄງການເຫຼົ່ານີ້ຮ່ວມກັນທົດແທນ rlogin ແລະ rsh , ແລະສະຫນອງ ການສື່ສານທີ່ຖືກເຂົ້າລະຫັດທີ່ ປອດໄພ ລະ ຫວ່າງສອງເຄື່ອງທີ່ບໍ່ໄວ້ວາງໃຈໃນເຄືອຂ່າຍທີ່ບໍ່ປອດໄພ. ໂຄງການດັ່ງກ່າວແມ່ນມີຄວາມເປັນໄປໄດ້ທີ່ຈະຕິດຕັ້ງແລະນໍາໃຊ້ໄດ້ງ່າຍ.

sshd ແມ່ນ daemon ທີ່ຟັງການເຊື່ອມຕໍ່ຈາກລູກຄ້າ. ມັນມັກຈະເລີ່ມຕົ້ນ boot ຈາກ / etc / rc. ມັນ forks daemon ໃຫມ່ສໍາລັບການເຊື່ອມຕໍ່ທີ່ເຂົ້າມາແຕ່ລະຄົນ. daemons forked ຈັດການການແລກປ່ຽນຫຼັກ, ການເຂົ້າລະຫັດ, ການກວດສອບ, ການປະຕິບັດຄໍາສັ່ງແລະການແລກປ່ຽນຂໍ້ມູນ. ການປະຕິບັດຂອງ sshd ນີ້ ສະຫນັບສະຫນູນທັງສອງສະບັບພາສາ SSH 1 ແລະ 2 ພ້ອມໆກັນ.

SSH Protocol Version 1

ແຕ່ລະໂຮດມີລູກ RSA ທີ່ເປັນເຈົ້າພາບ (ໂດຍປົກກະຕິ 1024 ບິດ) ທີ່ໃຊ້ເພື່ອກໍານົດເຈົ້າພາບ. ນອກຈາກນັ້ນ, ໃນເວລາທີ່ daemon ຈະເລີ້ມ, ມັນສ້າງຄີ RSA ຂອງເຄື່ອງແມ່ຂ່າຍ (ປົກກະຕິ 768 ບິດ). ຄີນີ້ແມ່ນປົກກະຕິແລ້ວການຟື້ນຟູຄືນໃຫມ່ທຸກໆຊົ່ວໂມງຖ້າມັນຖືກນໍາໃຊ້ແລະບໍ່ເຄີຍເກັບໄວ້ໃນແຜ່ນ.

ທຸກຄັ້ງທີ່ລູກຄ້າເຊື່ອມຕໍ່ daemon ຕອບກັບເຄື່ອງແມ່ຂ່າຍຂອງເຈົ້າພາບແລະເຄື່ອງແມ່ຂ່າຍ. ລູກຄ້າປຽບທຽບລະຫັດ RSA host ກັບຖານຂໍ້ມູນຂອງຕົນເອງເພື່ອກວດສອບວ່າມັນຍັງບໍ່ປ່ຽນແປງ. ລູກຄ້າຫຼັງຈາກນັ້ນສ້າງຈໍານວນສຸ່ມ 256 ບິດ. ມັນ encrypts ຕົວເລກນີ້ໂດຍນໍາໃຊ້ທັງທີ່ສໍາຄັນ host ແລະ key server ແລະສົ່ງເລກທີ່ເຂົ້າລະຫັດກັບເຄື່ອງແມ່ຂ່າຍ. ທັງສອງຝ່າຍຫຼັງຈາກນັ້ນໃຊ້ເລກສຸ່ມນີ້ເປັນຄີເວລາທີ່ຖືກນໍາໃຊ້ເພື່ອເຂົ້າລະຫັດລັບການສື່ສານທັງຫມົດໃນກອງປະຊຸມ. ສ່ວນທີ່ເຫຼືອຂອງກອງປະຊຸມແມ່ນ encrypted ໂດຍໃຊ້ລະຫັດລັບທົ່ວໄປ, ໃນປະຈຸບັນ Blowfish ຫຼື 3DES, ເຊິ່ງ 3DES ຖືກນໍາໃຊ້ໄວ້ໃນຕອນຕົ້ນ. ລູກຄ້າເລືອກເຕັກນິກ ການເຂົ້າລະຫັດ ເພື່ອນໍາໃຊ້ຈາກເຄື່ອງທີ່ສະເຫນີໂດຍເຄື່ອງແມ່ຂ່າຍ.

ຕໍ່ໄປ, ເຄື່ອງແມ່ຂ່າຍແລະລູກຄ້າເຂົ້າກ່ອງໂຕ້ຕອບການກວດສອບ. ລູກຄ້າພະຍາຍາມກວດສອບຕົວເອງໂດຍໃຊ້ authentication rhosts, authentication rhosts ລວມກັບການກວດສອບ host RSA, ການກວດສອບຄວາມທ້າທາຍ RSA, ການກວດສອບຄວາມຖືກຕ້ອງຂອງ ລະຫັດຜ່ານ ຫຼືການກວດສອບ ລະຫັດຜ່ານ .

ການກວດສອບ Rhosts ຖືກປິດການໃຊ້ງານໂດຍທົ່ວໄປເນື່ອງຈາກວ່າມັນມີຄວາມປອດໄພໂດຍພື້ນຖານ, ແຕ່ສາມາດເປີດໃຊ້ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງເຄື່ອງແມ່ຂ່າຍຖ້າຕ້ອງການ. ການຮັກສາຄວາມປອດໄພຂອງລະບົບບໍ່ໄດ້ຮັບການປັບປຸງເວັ້ນເສຍແຕ່ວ່າ rshd rlogind ແລະ rexecd ຖືກປິດການໃຊ້ງານ (ດັ່ງນັ້ນການປິດການໃຊ້ rlogin ແລະ rsh ເຂົ້າໄປໃນເຄື່ອງ).

SSH Protocol Version 2

ສະບັບທີ 2 ເຮັດວຽກຄ້າຍຄືກັນ: ເຈົ້າຂອງແຕ່ລະມີລູກຄ້າທີ່ມີລະຫັດຜູ້ໃຊ້ (RSA ຫຼື DSA) ທີ່ໃຊ້ເພື່ອກໍານົດເຈົ້າພາບ. ຢ່າງໃດກໍຕາມ, ເມື່ອ daemon ຈະເລີ້ມ, ມັນຈະບໍ່ສ້າງຄີເຄື່ອງແມ່ຂ່າຍ. ການຮັກສາຄວາມປອດໄພຕໍ່ໄປນີ້ແມ່ນຜ່ານການຕົກລົງທີ່ສໍາຄັນຂອງ Diffie-Hellman. ຂໍ້ຕົກລົງທີ່ສໍາຄັນນີ້ເຮັດໃຫ້ມີຫຼັກການປະຕິບັດຮ່ວມກັນ.

ສ່ວນທີ່ເຫລືອຂອງການເຂົ້າລະຫັດແມ່ນ encrypted ໂດຍໃຊ້ລະຫັດລັບ, 128 bit AES, Blowfish, 3DES, CAST128, Arcfour, AES 192 bit, ຫຼື AES 256 bit. ລູກຄ້າເລືອກເຕັກນິກການເຂົ້າລະຫັດເພື່ອນໍາໃຊ້ຈາກເຄື່ອງທີ່ສະເຫນີໂດຍເຄື່ອງແມ່ຂ່າຍ. ນອກຈາກນັ້ນ, ຄວາມຊື່ສັດຂອງກອງປະຊຸມໄດ້ຖືກສະຫນອງໃຫ້ຜ່ານລະຫັດການກວດສອບຂໍ້ຄວາມແບບ cryptographic (hmac-sha1 ຫຼື hmac-md5).

Protocol version 2 ໃຫ້ຜູ້ໃຊ້ທີ່ໃຊ້ public key (PubkeyAuthentication) ຫຼືເຄື່ອງແມ່ຂ່າຍຂອງ host (HostbasedAuthentication), ການກວດສອບລະຫັດລັບຕາມປົກກະຕິແລະວິທີການຕອບຮັບການຕອບຮັບ.

ການປະຕິບັດຄໍາສັ່ງແລະການສົ່ງຂໍ້ມູນ

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

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

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

sshd ສາມາດຕັ້ງຄ່າໄດ້ໂດຍໃຊ້ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງຫຼືໄຟລ໌ການຕັ້ງຄ່າ. ຕົວເລືອກບັນທັດຄໍາສັ່ງ override ຄ່າທີ່ລະບຸໄວ້ໃນແຟ້ມການຕັ້ງຄ່າ.

sshd rereads ໄຟລ໌ການຕັ້ງຄ່າຂອງມັນໃນເວລາທີ່ມັນໄດ້ຮັບສັນຍານ hangup , SIGHUP ໂດຍປະຕິບັດຕົວມັນເອງດ້ວຍຊື່ທີ່ມັນໄດ້ເລີ່ມຕົ້ນເຊັ່ນ, / usr / sbin / sshd

ຕົວເລືອກຕ່າງໆມີດັ່ງນີ້:

-b bits

ກໍານົດຈໍານວນຂອງບິດໃນໂປແກຼມໂປຼແກຼມທີ່ບໍ່ຖືກຕ້ອງ 1 ເຊີຟເວີ (ຄ່າ 768).

-d

ໂຫມດການແກ້ໄຂ. ເຄື່ອງແມ່ຂ່າຍສົ່ງຜົນໄດ້ຮັບການແກ້ໄຂ debb verbose ກັບບັນທຶກລະບົບແລະບໍ່ໃສ່ຕົວມັນເອງໃນພື້ນຫລັງ. ເຄື່ອງແມ່ຂ່າຍຍັງຈະບໍ່ເຮັດວຽກແລະຈະດໍາເນີນການເຊື່ອມຕໍ່ຫນຶ່ງເທົ່ານັ້ນ. ຕົວເລືອກນີ້ແມ່ນມີພຽງແຕ່ສໍາລັບການແກ້ໄຂສໍາລັບເຄື່ອງແມ່ຂ່າຍ. ທາງເລືອກຫຼາຍໆ -d ເພີ່ມຂື້ນໃນລະດັບການແກ້ໄຂ. ສູງສຸດແມ່ນ 3.

-e

ເມື່ອຕົວເລືອກນີ້ຖືກກໍານົດ, sshd ຈະສົ່ງຜົນຜະລິດໄປຫາຂໍ້ຜິດພາດມາດຕະຖານແທນທີ່ຈະເຂົ້າລະບົບ.

-f configuration_file

ລະບຸຊື່ຂອງໄຟລ໌ການຕັ້ງຄ່າ. ຄ່າເລີ່ມຕົ້ນແມ່ນ / etc / ssh / sshd_config sshd ປະຕິເສດການເລີ່ມຕົ້ນຖ້າບໍ່ມີໄຟລ໌ການຕັ້ງຄ່າ.

-g login_grace_time

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

-h host_key_file

ລະບຸໄຟລ໌ຈາກທີ່ເປັນເຈົ້າພາບທີ່ຖືກອ່ານ. ຕົວເລືອກນີ້ຕ້ອງໄດ້ຮັບຖ້າ sshd ບໍ່ໄດ້ດໍາເນີນການເປັນຮາກ (ຍ້ອນວ່າໄຟລ໌ທີ່ເປັນເຈົ້າພາບທົ່ວໄປປົກກະຕິແມ່ນບໍ່ສາມາດອ່ານໄດ້ໂດຍໃຜແຕ່ເປັນຮາກ). ຄ່າເລີ່ມຕົ້ນແມ່ນ / etc / ssh / ssh_host_key ສໍາລັບໂປຣແກຣມໂປຣແກຣມ 1 ແລະ / etc / ssh / ssh_host_rsa_key ແລະ / etc / ssh / ssh_host_dsa_key ສໍາລັບໂປຣແກຣມໂປຣແກຣມ 2. ມັນກໍ່ສາມາດມີໄຟລ໌ສໍາຄັນຕ່າງໆສໍາລັບໂປຣແກຣມໂປຣແກຣມທີ່ແຕກຕ່າງກັນ algorithms

-i

ລະບຸວ່າ sshd ກໍາລັງດໍາເນີນການຈາກ inetd. sshd ໂດຍປົກກະຕິບໍ່ໄດ້ດໍາເນີນການຈາກ inetd ເນື່ອງຈາກມັນຕ້ອງສ້າງຄີເຄື່ອງແມ່ຂ່າຍກ່ອນທີ່ມັນຈະສາມາດຕອບສະຫນອງຕໍ່ລູກຄ້າແລະນີ້ອາດໃຊ້ເວລາສິບວິນາທີ. ລູກຄ້າຕ້ອງລໍຖ້າເວລາດົນເກີນໄປຖ້າຄີຖືກຟື້ນຕົວຄືນທຸກຄັ້ງ. ຢ່າງໃດກໍຕາມ, ດ້ວຍຂະຫນາດທີ່ມີຂະຫນາດນ້ອຍ (ຕົວຢ່າງ, 512) ໃຊ້ sshd ຈາກ inetd ອາດຈະເປັນໄປໄດ້.

-k key_gen_time

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

-o option

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

-p port

ກໍານົດພອດທີ່ server ຮັບຟັງການເຊື່ອມຕໍ່ (default 22). ຕົວເລືອກທີ່ Port ຫລາຍແມ່ນຖືກອະນຸຍາດ. Ports ທີ່ລະບຸໄວ້ໃນແຟ້ມການຕັ້ງຄ່າຈະຖືກຍົກເວັ້ນເມື່ອມີການກໍານົດລະຫັດບັນທັດຄໍາສັ່ງ.

-q

Quiet mode ບໍ່ມີຫຍັງຖືກສົ່ງໄປຫາລະບົບ. ໂດຍປົກກະຕິແລ້ວການເລີ່ມຕົ້ນ, ການກວດສອບແລະການສິ້ນສຸດຂອງການເຊື່ອມຕໍ່ແຕ່ລະຄົນຈະຖືກບັນທຶກ.

-t

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

-u len

ຕົວເລືອກນີ້ຖືກໃຊ້ເພື່ອກໍານົດຂະຫນາດຂອງ ຟິນໃນ ໂຄງສ້າງ utmp ທີ່ຖືຊື່ໂຮດໄລຍະໄກ. ຖ້າຊື່ເຈົ້າຂອງທີ່ໄດ້ຮັບການແກ້ໄຂແມ່ນຍາວກວ່າ len , ຄ່າ decimal ຈຸດຈະຖືກນໍາໃຊ້ແທນ. ນີ້ອະນຸຍາດໃຫ້ເຈົ້າພາບທີ່ມີຊື່ໂຮດໄລຍະຍາວຫຼາຍທີ່ເຕັມໄປຈາກສະຫນາມນີ້ຍັງຈະຖືກກໍານົດເປັນເອກະລັກ. ການກໍານົດ - u0 ສະແດງໃຫ້ເຫັນວ່າມີພຽງແຕ່ຈຸດທີ່ມີຈຸດຫມາຍປາຍທາງເທົ່ານັ້ນທີ່ຄວນໃສ່ໃນໄຟລ໌ utmp. - u0 ຍັງຖືກນໍາໃຊ້ເພື່ອປ້ອງກັນບໍ່ໃຫ້ sshd ເຮັດການ ຮ້ອງຂໍ DNS, ເວັ້ນເສຍແຕ່ວ່າກົນໄກການກວດສອບຫຼືການກໍານົດການກໍານົດຕ້ອງໃຊ້ມັນ. ກົນໄກການຢັ້ງຢືນທີ່ອາດຈະຕ້ອງການ DNS ລວມ RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication ແລະການນໍາໃຊ້ຕົວເລືອກ ຈາກ = ຮູບແບບບັນຊີລາຍຊື່ ໃນໄຟລ໌ທີ່ສໍາຄັນ. ຕົວເລືອກການກໍານົດຄ່າທີ່ຕ້ອງການ DNS ລວມມີການນໍາໃຊ້ຮູບແບບ USER @ HOST ໃນ AllowUsers ຫຼື DenyUsers

-D

ເມື່ອຕົວເລືອກນີ້ຖືກລະບຸວ່າ sshd ຈະບໍ່ຖອນອອກແລະບໍ່ກາຍເປັນ daemon. ນີ້ຈະຊ່ວຍໃຫ້ການກວດສອບງ່າຍຂອງ sshd

-4

ບັງຄັບໃຊ້ sshd ໃຊ້ IPv4 ເທົ່ານັ້ນ.

-6

ບັງຄັບ sshd ໃຊ້ IPv6 ເທົ່ານັ້ນ.

Configuration File

sshd ອ່ານຂໍ້ມູນການຕັ້ງຄ່າຈາກ / etc / ssh / sshd_config (ຫຼືແຟ້ມລະບຸໄວ້ດ້ວຍ - f ໃນເສັ້ນຄໍາສັ່ງ). ຮູບແບບໄຟລ໌ແລະຕົວເລືອກການຕັ້ງຄ່າແມ່ນອະທິບາຍໃນ sshd_config5.

ຂະບວນການເຂົ້າສູ່ລະບົບ

ເມື່ອຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບແລ້ວ, sshd ເຮັດດັ່ງຕໍ່ໄປນີ້:

  1. ຖ້າການເຂົ້າສູ່ລະບົບຢູ່ໃນ tty ແລະຄໍາສັ່ງບໍ່ໄດ້ຖືກກໍານົດ, ພິມເວລາເຂົ້າສູ່ລະບົບຄັ້ງສຸດທ້າຍແລະ / etc / motd (ເວັ້ນເສຍແຕ່ປ້ອງກັນໃນແຟ້ມການກໍານົດຄ່າຫຼືໂດຍ $ HOME / .hushlogin ເບິ່ງສ່ວນ Sx FILES).
  2. ຖ້າການເຂົ້າສູ່ລະບົບແມ່ນໃຊ້ເວລາເຂົ້າສູ່ລະບົບ,
  3. ກວດສອບ / etc / nologin ຖ້າມັນຢູ່, ພິມເນື້ອຫາແລະອອກຈາກ (ຍົກເວັ້ນຮາກ).
  4. ການປ່ຽນແປງທີ່ຈະດໍາເນີນການກັບສິດທິຜູ້ໃຊ້ປົກກະຕິ.
  5. ສ້າງສະພາບແວດລ້ອມຂັ້ນພື້ນຖານ.
  6. ອ່ານ $ HOME / .ssh / environment ຖ້າມັນມີຢູ່ແລ້ວແລະຜູ້ໃຊ້ສາມາດປ່ຽນສະພາບແວດລ້ອມໄດ້. ເບິ່ງຕົວເລືອກ PermitUserEnvironment ໃນ sshd_config5.
  7. ການປ່ຽນແປງລະບົບປະຕິບັດຫນ້າຂອງຜູ້ໃຊ້.
  8. ຖ້າ $ HOME / .ssh / rc ຢູ່ແລ້ວ, ເຮັດວຽກມັນ; ຖ້າຖ້າ / etc / ssh / sshrc ຢູ່ແລ້ວ, ມັນແລ່ນມັນ; ຖ້າບໍ່ດັ່ງນັ້ນຈະແລ່ນ xauth. ໄຟລ໌ `` rc '' ແມ່ນຮັບປະກັນໂປຣແກຣມກວດສອບ X11 ແລະ cookie ໃນການເຂົ້າຂໍ້ມູນມາດຕະຖານ.
  9. ດໍາເນີນການ Shell ຫຼືຄໍາສັ່ງຂອງຜູ້ໃຊ້.

Authorized_Keys File Format

$ HOME / .ssh / authorized_keys ແມ່ນແຟ້ມເລີ່ມຕົ້ນທີ່ລະບຸຄີສາທາລະນະທີ່ຖືກອະນຸຍາດສໍາລັບການກວດສອບ RSA ໃນໂປຣແກຣມສະບັບທີ 1 ແລະສໍາລັບການກວດສອບ key public key (PubkeyAuthentication) ໃນໂປຣແກຣມໂປຣແກຣມ 2. AuthorizedKeysFile ອາດຈະຖືກໃຊ້ເພື່ອກໍານົດໄຟລ໌ອື່ນ.

ເສັ້ນຂອງໄຟລ໌ແຕ່ລະບັນຈຸມີສໍາຄັນຫນຶ່ງ (ສາຍຫວ່າງແລະເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍ `# 'ຖືກປະຕິເສດເປັນຄໍາເຫັນ). ແຕ່ລະ RSA ສາທາລະນະປະກອບດ້ວຍຂົງເຂດດັ່ງຕໍ່ໄປນີ້, ແຍກໂດຍສະຖານທີ່: ທາງເລືອກ, bits, exponent, ໂມດູນ, ຄວາມຄິດເຫັນ. ແຕ່ລະໂປຣແກຣມສະບັບພາສາ 2 ທີ່ສໍາຄັນສາມາດປະກອບດ້ວຍ: ຕົວເລືອກ, keytype, key64 ທີ່ encoded, ຄໍາເຫັນ. ພາກສະຫນາມທາງເລືອກແມ່ນທາງເລືອກ; ສະຖານະຂອງມັນຖືກກໍານົດໂດຍວ່າເສັ້ນຈະເລີ້ມດ້ວຍຕົວເລກຫຼືບໍ່ (ພາກສະຫນາມທາງເລືອກບໍ່ເຄີຍມີເລກ). ຂໍ້ມູນ bits, exponent, modulus ແລະ comment ໃຫ້ຄີ RSA ສໍາລັບໂປຣແກຣມໂປຣແກຣມ 1; ພາກສະຫນາມຄໍາເຫັນບໍ່ໄດ້ຖືກນໍາໃຊ້ສໍາລັບສິ່ງໃດ (ແຕ່ອາດຈະສະດວກສໍາລັບຜູ້ໃຊ້ເພື່ອກໍານົດຫຼັກ). ສໍາລັບໂປຣແກຣມສະບັບ 2, keytype ແມ່ນ `` ssh-dss '' ຫຼື `` ssh-rsa ''

ໃຫ້ສັງເກດວ່າເສັ້ນໃນໄຟລ໌ນີ້ມັກຈະມີຫຼາຍກ່ວາຮ້ອຍ ໂຕດ (ເນື່ອງຈາກຂະຫນາດຂອງການເຂົ້າລະຫັດຂອງສາທາລະນະ). ທ່ານບໍ່ຕ້ອງການພິມໃຫ້ເຂົາເຈົ້າ; ແທນທີ່ຈະ, ຄັດລອກ ident.pub id_dsapub ຫຼືແຟ້ມ id_rsa.pub ແລະແກ້ໄຂມັນ.

sshd ບັງຄັບໃຊ້ລະຫັດຂະຫນາດ RSA ນ້ອຍສຸດສໍາລັບໂປຣແກຣມ 1 ແລະໂປໂຕຄອນ 2 ຄີຂອງ 768 ບິດ.

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

ຈາກ = pattern-list

ອະທິບາຍວ່ານອກເຫນືອຈາກການກວດສອບຄວາມສໍາຄັນຂອງສາທາລະນະ, ຊື່ canonical ຂອງ host ຫ່າງໄກສອກຫຼີກຕ້ອງມີຢູ່ໃນບັນຊີລາຍຊື່ທີ່ແຕກຕ່າງກັນໂດຍຫຍໍ້ຂອງຮູບແບບ (`* 'ແລະ`?' ໃຫ້ເປັນຕົວອັກສອນ). ບັນຊີລາຍຊື່ອາດຈະມີຮູບແບບທີ່ຖືກລົບກວນໂດຍນໍາຫນ້າດ້ວຍ `! ' 1 ຖ້າຊື່ເຈົ້າຂອງ canonical ກົງກັນກັບຮູບແບບທີ່ບໍ່ຖືກຕ້ອງ, ຄີບໍ່ໄດ້ຮັບການຍອມຮັບ. ຈຸດປະສົງຂອງຕົວເລືອກນີ້ແມ່ນເພື່ອເພີ່ມຄວາມປອດໄພທາງເລືອກ: ການກວດສອບການສໍາຄັນຂອງສາທາລະນະໂດຍຕົນເອງບໍ່ໄວ້ໃຈເຄືອຂ່າຍຫຼືເຄື່ອງແມ່ຂ່າຍຊື່ຫຼືສິ່ງໃດ (ແຕ່ທີ່ສໍາຄັນ); ຢ່າງໃດກໍຕາມ, ຖ້າຫາກວ່າ somebody steal some key, key ອະນຸຍາດໃຫ້ບຸກຄົນທີ່ເຂົ້າມາຈາກທຸກບ່ອນໃນໂລກ. ຕົວເລືອກເພີ່ມເຕີມນີ້ເຮັດໃຫ້ການໃຊ້ຫຼັກທີ່ຖືກຂະໂມຍມີຄວາມຫຍຸ້ງຍາກ (ເຄື່ອງແມ່ຂ່າຍຊື່ແລະ / ຫຼື router ຈະຕ້ອງມີການລະເມີດນອກເຫນືອຈາກພຽງແຕ່ສໍາຄັນ).

command = command

ລະບຸວ່າຄໍາສັ່ງຈະຖືກປະຕິບັດທຸກຄັ້ງທີ່ໃຊ້ສໍາຄັນນີ້. ຄໍາສັ່ງທີ່ສະຫນອງໂດຍຜູ້ໃຊ້ (ຖ້າມີ) ຖືກລະເວັ້ນ. ຄໍາສັ່ງແມ່ນດໍາເນີນການກ່ຽວກັບ pty ຖ້າລູກຄ້າຮ້ອງຂໍໃຫ້ pty; ຖ້າບໍ່ດັ່ງນັ້ນມັນຈະດໍາເນີນການໂດຍບໍ່ມີການ tty. ຖ້າຕ້ອງການຊ່ອງທາງທີ່ມີຄວາມສະອາດ 8 ບິດ, ທ່ານບໍ່ຕ້ອງຮ້ອງຂໍການສະເຫນີລາຄາໃດຫນຶ່ງຫຼືຄວນລະບຸຄໍາອ້າງອີງທີ່ ບໍ່ມີຄວາມຄິດເຫັນໃດໆທີ່ ອາດຈະຖືກລວມເຂົ້າໃນຄໍາສັ່ງໂດຍຖ້ອຍຄໍາມັນດ້ວຍຕົວຊີ້ບອກ. ຕົວເລືອກນີ້ອາດຈະເປັນປະໂຫຍດທີ່ຈະຈໍາກັດກົດທີ່ສາທາລະນະທີ່ສາມາດປະຕິບັດໄດ້ພຽງແຕ່ການດໍາເນີນງານເສພາະ. ຕົວຢ່າງອາດເປັນກຸນແຈທີ່ອະນຸຍາດໃຫ້ສໍາຮອງຂໍ້ມູນຫ່າງໄກສອກຫຼີກແຕ່ບໍ່ມີຫຍັງອີກ. ໃຫ້ສັງເກດວ່າລູກຄ້າອາດຈະກໍານົດການສົ່ງຕໍ່ TCP / IP ແລະ / ຫຼື X11 ເວັ້ນເສຍແຕ່ວ່າພວກເຂົາຖືກຫ້າມຢ່າງຊັດເຈນ. ໃຫ້ສັງເກດວ່າຕົວເລືອກນີ້ໃຊ້ກັບຄ່າ shell, command or subsystem execution.

environment = NAME = value

ສະແດງໃຫ້ເຫັນວ່າສະຕິງຈະຖືກເພີ່ມໃສ່ສະພາບແວດລ້ອມໃນເວລາທີ່ເຂົ້າສູ່ລະບົບໃນການໃຊ້ຄີນີ້. ຕົວແປສິ່ງແວດລ້ອມກໍານົດວິທີການນີ້ແທນທີ່ຄ່າອື່ນໆຂອງສະພາບແວດລ້ອມແບບເດີມ. ຕົວເລືອກຕ່າງໆຂອງປະເພດນີ້ແມ່ນອະນຸຍາດ. ການປະມວນຜົນສິ່ງແວດລ້ອມຖືກປິດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນແລະຖືກຄວບຄຸມຜ່ານ Option PermitUserEnvironment . ຕົວເລືອກນີ້ຖືກປິດໃຊ້ໂດຍອັດຕະໂນມັດຖ້າ EnableLogin ຖືກເປີດໃຊ້.

no-port-forwarding

Forbids TCP / IP forwarding ເມື່ອຄີນີ້ຖືກໃຊ້ສໍາລັບການກວດສອບ. ການຮ້ອງຂໍພອດຕໍ່ໄປໂດຍລູກຄ້າຈະສົ່ງຂໍ້ຜິດພາດຄືນ. ນີ້ອາດຈະຖືກນໍາໃຊ້, ຍົກຕົວຢ່າງ, ໃນການເຊື່ອມຕໍ່ກັບຕົວເລືອກ ຄໍາສັ່ງ .

no-X11-forwarding

Forbids X11 ສົ່ງຕໍ່ເມື່ອຄີນີ້ຖືກໃຊ້ສໍາລັບການກວດສອບ. ການຮ້ອງຂໍຕໍ່ X11 ໂດຍລູກຄ້າຈະສົ່ງຂໍ້ຜິດພາດຄືນ.

no-agent-forwarding

Forbids ຕົວແທນການກວດສອບການສົ່ງຕໍ່ເມື່ອຄີນີ້ຖືກໃຊ້ສໍາລັບການກວດສອບ.

no-pty

ປ້ອງກັນການຈັດສັນ tty (ການຮ້ອງຂໍການຈັດສັນ pty ຈະລົ້ມເຫລວ).

permitopen = host: port

ຈໍາກັດການສົ່ງຕໍ່ພອດ `` ssh -L '`ທີ່ ຢູ່ທ້ອງຖິ່ນດັ່ງນັ້ນມັນອາດຈະເຊື່ອມຕໍ່ກັບໂຮດທີ່ກໍານົດໄວ້ແລະ port ເທົ່ານັ້ນ. ທີ່ຢູ່ IPv6 ສາມາດລະບຸໄດ້ດ້ວຍໄວຢາກອນອື່ນ: host / port ອະ ນຸຍາດໃຫ້ໃຊ້ multiple options permiten ໂດຍແຍກກັນໂດຍຫຍໍ້. ບໍ່ມີການເຊື່ອມໂຍງແບບຟອມທີ່ຖືກປະຕິບັດຢູ່ໃນນາມສະກຸນທີ່ລະບຸ, ພວກມັນຕ້ອງເປັນໂດເມນທີ່ມີຊື່ສຽງຫຼືທີ່ຢູ່.

ຕົວຢ່າງ

1024 33 12121 312314325 ylo @ foobar

ຈາກ = "* niksulahutfi,! pcniksulahutfi" 1024 35 23 2334 ylo @ niksula

command = "dump / home", no-pty, no-port-forwarding 1024 33 23 ... 2323 backup.hut.fi

permitopen = "102515: 80", permitopen = "10225625" 1024 33 23 2323

Ssh_Known_Hosts File Format

ແຟ້ມ / etc / ssh / ssh_known_hosts ແລະ $ HOME / .ssh / known_hosts ໄຟລ໌ທີ່ມີປຸ່ມລັດສາທາລະນະສໍາລັບເຄື່ອງທີ່ຮູ້ຈັກທັງຫມົດ. ໄຟລ໌ທົ່ວໂລກຄວນໄດ້ຮັບການກະກຽມໂດຍຜູ້ເບິ່ງແຍງລະບົບ (ຕົວເລືອກ) ແລະໄຟລ໌ຕໍ່ຜູ້ໃຊ້ຈະຖືກເກັບຮັກສາໄວ້ໂດຍອັດຕະໂນມັດ: ທຸກໆຄັ້ງທີ່ຜູ້ໃຊ້ເຊື່ອມຕໍ່ຈາກເຄື່ອງທີ່ບໍ່ຮູ້ຈັກຖືກລຶບເຂົ້າໃສ່ໄຟລ໌ຕໍ່ຜູ້ໃຊ້.

ແຕ່ລະເສັ້ນໃນໄຟລ໌ເຫຼົ່ານີ້ມີຂົງເຂດດັ່ງຕໍ່ໄປນີ້: ນາມສະກຸນ, ບິດ, ຕົວຊີ້ບອກ, ໂມດູນ, ຄໍາເຫັນ. ທົ່ງນາທີ່ຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງ.

ນາມສະກຸນແມ່ນບັນຊີລາຍການທີ່ແຕກຕ່າງກັນໂດຍຫຍໍ້ຂອງຮູບແບບ ('*' ແລະ '?' ເຮັດຫນ້າທີ່ເປັນຕົວອັກສອນ); ຮູບແບບແຕ່ລະຄັ້ງແມ່ນກົງກັນຂ້າມກັບຊື່ໂຮມເພດ (ເມື່ອກວດສອບໄຄເອັນ) ຫຼືຕໍ່ຊື່ຜູ້ໃຊ້ໂດຍຜູ້ໃຊ້ (ເມື່ອກວດສອບເຄື່ອງແມ່ຂ່າຍ). ຮູບແບບທີ່ອາດຈະຖືກນໍາມາກ່ອນໂດຍ `! ' ເພື່ອສະແດງໃຫ້ເຫັນວ່າການປະຕິເສດ: ຖ້າຊື່ໂຮມທີ່ກົງກັບຮູບແບບທີ່ບໍ່ຖືກຕ້ອງ, ມັນຈະບໍ່ຖືກຍອມຮັບ (ໂດຍເສັ້ນນັ້ນ) ເຖິງແມ່ນວ່າມັນກົງກັບຮູບແບບອື່ນໃນເສັ້ນ.

Bits, exponent, ແລະໂມດູນຖືກນໍາມາໂດຍກົງຈາກຄີ host RSA; ພວກເຂົາສາມາດໄດ້ຮັບ, ເຊັ່ນ: ຈາກ /etc/ssh/ssh_host_key.pub ພາກສະແດງຄວາມຄິດເຫັນທາງເລືອກສືບຕໍ່ໄປເຖິງຕອນທ້າຍຂອງເສັ້ນ, ແລະບໍ່ໄດ້ຖືກນໍາໃຊ້.

ເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍ `# 'ແລະສາຍຫວ່າງເປົ່າຖືກຍົກເລີກເປັນຄໍາເຫັນ.

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

ໃຫ້ສັງເກດວ່າເສັ້ນໃນໄຟລ໌ເຫຼົ່ານີ້ແມ່ນປົກກະຕິຫຼາຍຮ້ອຍຕົວອັກສອນຍາວ, ແລະທ່ານແນ່ນອນບໍ່ຕ້ອງການພິມຕົວທີ່ຢູ່ໃນມືໂດຍມື. ແທນທີ່ຈະ, ສ້າງໃຫ້ເຂົາເຈົ້າໂດຍ script ຫຼືໂດຍການກິນ /etc/ssh/ssh_host_key.pub ແລະເພີ່ມຊື່ໂຮດຢູ່ທາງຫນ້າ.

ຕົວຢ່າງ

closenet, ... 130.233.208.41 1024 37 159 93 closenet.hut.fi cvs.openbsd.org, 199185133 ssh-rsa AAAA1234 ..... =

ເບິ່ງຍັງ

scp (1), sftp (1), ssh (1), ssh-add1, ssh-agent1, ssh-keygen1, login.conf5, moduli (5), sshd_config5, sftp-server8

T Ylonen T. Kivinen M. Saarinen T Rinne S. Lehtinen "SSH Protocol Architecture" draft-ietf-secsh-architecture-12.txt ເດືອນມັງກອນ 2002 ເຮັດວຽກໃນວັດສະດຸການປະຕິບັດ

M Friedl N Provos WA Simpson "ການແລກປ່ຽນກຸ່ມ Diffie-Hellman ສໍາລັບການຂົນສົ່ງ SSH ຂົນສົ່ງ" ຮ່າງຮ່າງ -eietf-secsh-dh-ກຸ່ມແລກປ່ຽນ -02.txt ເດືອນມັງກອນ 2002 ເຮັດວຽກໃນອຸປະກອນການກ້າວຫນ້າ

ສິ່ງສໍາຄັນ: ໃຊ້ຄໍາສັ່ງ man ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.