ชื่อ
sshd - ภูต SSH ของ OpenSSH
สรุป
sshd -deiqtD46 -ข เกร็ด -ฉ config_file -ก. login_grace_time -ชั่วโมง host_key_file -k key_gen_time -โอ ตัวเลือก -พี ท่าเรือ -ยู len
ลักษณะ
sshd (SSH Daemon) เป็นโปรแกรมภูตสำหรับ ssh (1) รวมโปรแกรมเหล่านี้เข้าด้วยกัน rlogin และ rshและให้การสื่อสารที่เข้ารหัสแบบปลอดภัยระหว่างโฮสต์ที่ไม่น่าเชื่อถือสองแห่งผ่านเครือข่ายที่ไม่ปลอดภัย โปรแกรมนี้มีวัตถุประสงค์เพื่อให้ติดตั้งและใช้งานได้ง่ายที่สุดเท่าที่จะเป็นไปได้
sshd เป็นภูตที่ฟังการเชื่อมต่อจากลูกค้า เป็นปกติเริ่มต้นที่บูตจาก / etc / rc มัน forks daemon ใหม่สำหรับการเชื่อมต่อขาเข้าแต่ละ Daemons forked จัดการการแลกเปลี่ยนคีย์การเข้ารหัสการตรวจสอบการเรียกใช้คำสั่งและการแลกเปลี่ยนข้อมูล การใช้งานของsshd รองรับโปรโตคอล SSH เวอร์ชัน 1 และ 2 พร้อมกัน
โปรโตคอล SSH เวอร์ชัน 1
โฮสต์แต่ละแห่งมีคีย์ RSA เฉพาะโฮสต์ (ปกติ 1024 บิต) ที่ใช้เพื่อระบุโฮสต์ นอกจากนี้เมื่อ daemon เริ่มทำงานจะสร้างคีย์ RSA ของเซิร์ฟเวอร์ (ปกติ 768 บิต) คีย์นี้จะถูกสร้างใหม่ทุกๆชั่วโมงหากมีการใช้และไม่เคยถูกเก็บไว้ในดิสก์
เมื่อใดก็ตามที่ไคลเอ็นต์เชื่อมต่อภูตเครื่องตอบรับกับโฮสต์และคีย์เซิร์ฟเวอร์ของโฮสต์ ไคลเอ็นต์เปรียบเทียบคีย์โฮสต์ RSA กับฐานข้อมูลของตนเองเพื่อยืนยันว่าไม่มีการเปลี่ยนแปลง จากนั้นไคลเอ็นต์จะสร้างหมายเลขสุ่ม 256 บิต จะเข้ารหัสตัวเลขสุ่มนี้โดยใช้ทั้งคีย์โฮสต์และคีย์เซิร์ฟเวอร์และส่งข้อมูลที่เข้ารหัสไปยังเซิร์ฟเวอร์ ทั้งสองฝ่ายใช้หมายเลขสุ่มนี้เป็นคีย์เซสชันซึ่งใช้เพื่อเข้ารหัสการสื่อสารเพิ่มเติมทั้งหมดในเซสชัน ส่วนที่เหลือของเซสชันจะถูกเข้ารหัสโดยใช้ตัวเลขแบบเดิมขณะนี้คือปักเป้าหรือ 3DES โดยมีการใช้ 3DES ตามค่าเริ่มต้น ไคลเอนต์เลือกอัลกอริทึมการเข้ารหัสลับเพื่อใช้จากเซิร์ฟเวอร์ที่นำเสนอโดยเซิร์ฟเวอร์
ถัดไปเซิร์ฟเวอร์และไคลเอ็นต์ป้อนโต้ตอบการตรวจสอบสิทธิ์ ไคลเอ็นต์พยายามตรวจสอบตัวเองโดยใช้. rhosts authentication, .rhosts authentication รวมกับการรับรองความถูกต้องของโฮสต์ RSA, การรับรองความถูกต้องของการตอบสนองความท้าทาย RSA หรือการตรวจสอบสิทธิ์ผ่านรหัสผ่าน
การตรวจสอบสิทธิ์ Rhosts ถูกปิดใช้งานโดยปกติเนื่องจากไม่ปลอดภัยโดยพื้นฐาน แต่สามารถเปิดใช้งานได้ในไฟล์การกำหนดค่าเซิร์ฟเวอร์หากต้องการ ความปลอดภัยของระบบจะไม่ดีขึ้นเว้นแต่ว่าrshdrlogind และ rexecd ถูกปิดใช้งาน (ดังนั้นการปิดใช้ rlogin และ rsh ลงในเครื่อง)
โปรโตคอล SSH เวอร์ชัน 2
เวอร์ชัน 2 ทำงานคล้าย ๆ กัน: แต่ละโฮสต์มีคีย์เฉพาะโฮสต์ (RSA หรือ DSA) ที่ใช้เพื่อระบุโฮสต์ อย่างไรก็ตามเมื่อ daemon เริ่มทำงานจะไม่สร้างคีย์เซิร์ฟเวอร์ การรักษาความปลอดภัยขั้นสูงผ่านข้อตกลงสำคัญของ Diffie-Hellman ข้อตกลงสำคัญนี้ส่งผลให้เกิดคีย์เซสชันที่ใช้ร่วมกัน
ส่วนที่เหลือของเซสชันจะถูกเข้ารหัสโดยใช้รหัสที่สมมาตรปัจจุบันคือ 128 บิต AES, Blowfish, 3DES, CAST128, Arcfour, 192 บิต AES หรือ 256 บิต AES ไคลเอนต์เลือกอัลกอริทึมการเข้ารหัสลับเพื่อใช้จากเซิร์ฟเวอร์ที่นำเสนอโดยเซิร์ฟเวอร์ นอกจากนี้ความสมบูรณ์ของเซสชันจะมีให้ผ่านรหัสการตรวจสอบความลับของข้อความเข้ารหัสลับ (hmac-sha1 หรือ hmac-md5)
รุ่น Protocol 2 มีวิธีการรับรองความถูกต้องของผู้ใช้คีย์สาธารณะ (PubkeyAuthentication) หรือโฮสต์ไคลเอ็นต์ (HostbasedAuthentication) การตรวจสอบรหัสผ่านแบบเดิมและวิธีการที่ใช้การตอบสนองตามความท้าทาย
การดำเนินการคำสั่งและการส่งต่อข้อมูล
ถ้าไคลเอ็นต์ตรวจสอบตัวเองเสร็จเรียบร้อยแล้วจะมีการป้อนกล่องโต้ตอบสำหรับเตรียมเซสชัน ในขณะนี้ลูกค้าอาจขอสิ่งต่างๆเช่นการจัดสรร pseudo-tty การส่งต่อการเชื่อมต่อ X11 การส่งต่อการเชื่อมต่อ TCP / IP หรือการส่งต่อการเชื่อมต่อตัวแทนการตรวจสอบผ่านแชนเนลที่ปลอดภัย
ในที่สุดไคลเอ็นต์อาจเรียกใช้เชลล์หรือการดำเนินการคำสั่ง จากนั้นให้เข้าสู่โหมดเซสชัน ในโหมดนี้ด้านใดด้านหนึ่งอาจส่งข้อมูลได้ตลอดเวลาและข้อมูลดังกล่าวจะถูกส่งต่อไปยัง / จากเปลือกหรือคำสั่งทางฝั่งเซิร์ฟเวอร์และเทอร์มินัลของผู้ใช้ทางฝั่งไคลเอ็นต์
เมื่อโปรแกรมผู้ใช้สิ้นสุดลงและการส่งต่อ X11 และการเชื่อมต่ออื่น ๆ ทั้งหมดถูกปิดเซิร์ฟเวอร์จะส่งสถานะออกคำสั่งไปยังไคลเอ็นต์และทั้งสองฝ่ายออก
sshd สามารถกำหนดค่าได้โดยใช้ตัวเลือกบรรทัดคำสั่งหรือไฟล์คอนฟิกูเรชัน ตัวเลือกบรรทัดคำสั่งจะแทนที่ค่าที่ระบุในไฟล์คอนฟิกูเรชัน
sshd rereads ไฟล์การกำหนดค่าของมันเมื่อได้รับสัญญาณ hangup,SIGHUP โดยเรียกใช้ตัวเองด้วยชื่อที่เริ่มต้นเป็นเช่น / usr / sbin / sshd
ตัวเลือกมีดังนี้:
-b เกร็ด
ระบุจำนวนบิตในรหัสเซิร์ฟเวอร์ชั่วคราวเวอร์ชัน 1 (ค่าเริ่มต้น 768)
-d
โหมดดีบัก เซิร์ฟเวอร์จะส่งข้อมูลการแก้ปัญหา verbose ไปยังบันทึกของระบบและไม่ได้วางตัวเองไว้เบื้องหลัง เซิร์ฟเวอร์จะไม่ทำงานและจะประมวลผลการเชื่อมต่อเดียวเท่านั้น ตัวเลือกนี้มีไว้สำหรับการดีบักสำหรับเซิร์ฟเวอร์เท่านั้น หลายตัวเลือก -d เพิ่มระดับการแก้จุดบกพร่อง สูงสุดคือ 3
-e
เมื่อระบุตัวเลือกนี้sshd จะส่งผลลัพธ์ไปยังข้อผิดพลาดมาตรฐานแทนการบันทึกระบบ
-f configuration_file
ระบุชื่อไฟล์การกำหนดค่า ค่าดีฟอลต์คือ / etc / ssh / sshd_configsshdปฏิเสธที่จะเริ่มต้นถ้าไม่มีแฟ้มการกำหนดค่า
-G login_grace_time
ให้เวลาผ่อนผันสำหรับลูกค้าในการตรวจสอบตัวเอง (ค่าเริ่มต้น 120 วินาที) หากไคลเอ็นต์ไม่สามารถตรวจสอบความถูกต้องของผู้ใช้ได้ภายในหลายวินาทีเซิร์ฟเวอร์จะยกเลิกการเชื่อมต่อและออกจากระบบค่าเป็นศูนย์แสดงว่าไม่มีขีด จำกัด
-h host_key_file
ระบุไฟล์จากที่อ่านคีย์โฮสต์ ต้องระบุตัวเลือกนี้หากsshd ไม่ทำงานเป็น root (เนื่องจากไฟล์สำคัญของโฮสต์ปกติไม่สามารถอ่านได้โดยทุกคนยกเว้น root) ค่าเริ่มต้นคือ / etc / ssh / ssh_host_key สำหรับโปรโตคอลเวอร์ชัน 1 และ / etc / ssh / ssh_host_rsa_key และ / etc / ssh / ssh_host_dsa_key สำหรับโปรโตคอลเวอร์ชัน 2. สามารถเก็บไฟล์คีย์หลักได้หลายไฟล์สำหรับโปรโตคอลเวอร์ชันต่างๆและคีย์โฮสต์ อัลกอริทึม
-ผม
ระบุว่าsshd กำลังทำงานจาก inetdsshd โดยปกติจะไม่ทำงานจาก inetd เนื่องจากจำเป็นต้องสร้างคีย์เซิร์ฟเวอร์ก่อนที่จะสามารถตอบสนองต่อไคลเอ็นต์และอาจใช้เวลาหลายสิบวินาที ลูกค้าจะต้องรอนานหากคีย์ถูกสร้างใหม่ทุกครั้ง อย่างไรก็ตามใช้ขนาดคีย์เล็ก (เช่น 512) โดยใช้sshd จาก inetd อาจเป็นไปได้
-k key_gen_time
ระบุความถี่ของคีย์เซิร์ฟเวอร์ชั่วคราวเวอร์ชัน 1 ที่สร้างขึ้นใหม่ (ค่าเริ่มต้น 3600 วินาทีหรือหนึ่งชั่วโมง) แรงจูงใจในการฟื้นฟูกุญแจสำคัญ ๆ ก็คือคีย์จะไม่ถูกเก็บไว้ที่ใดก็ได้และหลังจากผ่านไปประมาณหนึ่งชั่วโมงจะเป็นไปไม่ได้ที่จะกู้คืนกุญแจสำหรับถอดรหัสการสื่อสารที่ขัดจังหวะแม้ว่าเครื่องจะแตกหรือถูกยึดร่างกายก็ตาม ค่าของศูนย์ระบุว่าคีย์จะไม่ถูกสร้างใหม่
-o ตัวเลือก
สามารถใช้เพื่อให้ตัวเลือกในรูปแบบที่ใช้ในแฟ้มกำหนดค่า นี้จะเป็นประโยชน์สำหรับการระบุตัวเลือกที่ไม่มีธงบรรทัดคำสั่งแยกต่างหาก
-p ท่าเรือ
ระบุพอร์ตที่เซิร์ฟเวอร์รับฟังการเชื่อมต่อ (ค่าเริ่มต้น 22) อนุญาตให้ใช้พอร์ตหลายพอร์ต พอร์ตที่ระบุในแฟ้มการกำหนดค่าจะถูกละเว้นเมื่อมีระบุพอร์ตบรรทัดคำสั่ง
-q
โหมดเงียบ ไม่มีอะไรถูกส่งไปยังบันทึกของระบบ โดยปกติจะมีการล็อกอินการเริ่มต้นการรับรองความถูกต้องและการยุติการเชื่อมต่อแต่ละครั้ง
t-
โหมดการทดสอบ ตรวจสอบความถูกต้องของแฟ้มการกำหนดค่าและความคลาดเคลื่อนของคีย์เท่านั้น นี้มีประโยชน์สำหรับการปรับปรุงsshd เชื่อถือได้เนื่องจากตัวเลือกการกำหนดค่าอาจมีการเปลี่ยนแปลง
-ยู len
ตัวเลือกนี้ใช้เพื่อระบุขนาดของฟิลด์ในฟิลด์utmp โครงสร้างที่เก็บชื่อโฮสต์ระยะไกล ถ้าชื่อโฮสต์ที่ได้รับการแก้ไขยาวกว่า len ค่าทศนิยมทศนิยมจะถูกนำมาใช้แทน ซึ่งจะช่วยให้โฮสต์ที่มีชื่อโฮสต์ที่ยาวมาก ๆ ที่มีการทับข้อมูลฟิลด์นี้จะยังคงมีการระบุที่ไม่ซ้ำกัน ระบุ -U0 ระบุว่าเฉพาะที่อยู่ทศนิยมทศนิยมควรจะใส่ลงในไฟล์ utmp -U0 นอกจากนี้ยังใช้เพื่อป้องกันsshd จากการร้องขอ DNS เว้นแต่ว่ากลไกการตรวจสอบสิทธิ์หรือการกำหนดค่าจะต้องใช้ กลไกการตรวจสอบสิทธิ์ที่อาจต้องใช้ DNSRhostsAuthenticationRhostsRSAAuthentication HostbasedAuthentication และใช้ aจาก = รูปแบบรายการในไฟล์สำคัญ ตัวเลือกการกำหนดค่าที่ต้องใช้ DNS รวมถึงการใช้ USER @ HOSTpattern ในAllowUsers หรือDenyUsers
-D
เมื่อเลือกตัวเลือกนี้sshd จะไม่ถอดออกและไม่ได้เป็นภูต ช่วยให้สามารถตรวจสอบได้ง่ายsshd
-4
กองกำลังsshd ใช้ที่อยู่ IPv4 เท่านั้น
-6
กองกำลังsshd ใช้ที่อยู่ IPv6 เท่านั้น
แฟ้มการกำหนดค่า
sshd อ่านข้อมูลการกำหนดค่าจาก / etc / ssh / sshd_config (หรือไฟล์ที่ระบุด้วย -ฉ ในบรรทัดคำสั่ง) รูปแบบไฟล์และตัวเลือกการกำหนดค่าจะอธิบายไว้ใน sshd_config5
ขั้นตอนการเข้าสู่ระบบ
เมื่อผู้ใช้เข้าสู่ระบบได้สำเร็จsshd ทำสิ่งต่อไปนี้:
- หากการเข้าสู่ระบบอยู่ใน tty และไม่มีการระบุคำสั่งพิมพ์ครั้งสุดท้ายในการล็อกอินและ / etc / motd (ยกเว้นกรณีที่ไม่สามารถป้องกันได้ในไฟล์คอนฟิกูเรชันหรือโดย $ HOME / .hushlogin ดูส่วน Sx FILES)
- หากการเข้าสู่ระบบอยู่ใน tty, บันทึกเวลาการเข้าสู่ระบบ
- ตรวจสอบ / etc / nologin ถ้ามีพิมพ์เนื้อหาและจบการทำงาน (ยกเว้นราก)
- การเปลี่ยนแปลงเพื่อให้ทำงานโดยใช้สิทธิ์ของผู้ใช้ตามปกติ
- ตั้งค่าสภาพแวดล้อมพื้นฐาน
- อ่าน $ HOME / .ssh / environment ถ้ามีอยู่และผู้ใช้สามารถเปลี่ยนแปลงสภาพแวดล้อมได้ ดูPermitUserEnvironment ใน sshd_config5
- การเปลี่ยนแปลงไดเรกทอรีบ้านของผู้ใช้
- ถ้า $ HOME / .ssh / rc อยู่ให้รัน; อื่นถ้า / etc / ssh / sshrc มีอยู่รัน; มิฉะนั้นจะเรียกใช้ xauth ไฟล์ `` rc '' จะได้รับโปรโตคอลการตรวจสอบสิทธิ์ X11 และคุกกี้ในอินพุตมาตรฐาน
- ใช้เปลือกหรือคำสั่งของผู้ใช้
Authorized_Keys รูปแบบไฟล์
$ HOME / .ssh / authorized_keys เป็นไฟล์ดีฟอลต์ที่แสดงคีย์สาธารณะที่ได้รับอนุญาตสำหรับการพิสูจน์ตัวตน RSA ในโปรโตคอลเวอร์ชัน 1 และสำหรับการตรวจสอบคีย์สาธารณะ (PubkeyAuthentication) ในโปรโตคอลเวอร์ชัน 2AuthorizedKeysFile อาจถูกใช้เพื่อระบุไฟล์สำรอง
แต่ละบรรทัดของไฟล์ประกอบด้วยคีย์เดียว (บรรทัดว่างและบรรทัดที่ขึ้นต้นด้วย `# 'จะถูกละเว้นเป็นความคิดเห็น) แต่ละคีย์สาธารณะ RSA ประกอบด้วยฟิลด์ต่อไปนี้คั่นด้วยช่องว่าง: ตัวเลือกบิตเลขยกกำลังโมดูลัสความคิดเห็น แต่ละโปรโตคอลรุ่น 2 คีย์สาธารณะประกอบด้วย: ตัวเลือก keytype, คีย์เข้ารหัส base64, comment ช่องตัวเลือกเป็นตัวเลือก; การแสดงตนจะขึ้นอยู่กับว่าบรรทัดนั้นเริ่มต้นด้วยตัวเลขหรือไม่ (ฟิลด์ตัวเลือกจะไม่ขึ้นต้นด้วยตัวเลข) บิตโมบิลิตี้เลขและโมเมนตัมและช่องแสดงความคิดเห็นให้คีย์ RSA สำหรับโปรโตคอลเวอร์ชัน 1; ช่องความคิดเห็นไม่ได้ถูกใช้เพื่ออะไร (แต่อาจสะดวกสำหรับผู้ใช้ในการระบุคีย์) สำหรับโปรโตคอลเวอร์ชัน 2 keytype คือ `` ssh-dss '' หรือ `` ssh-rsa ''
โปรดทราบว่าบรรทัดในไฟล์นี้มักมีความยาวหลายร้อยไบต์ (เนื่องจากขนาดของการเข้ารหัสคีย์สาธารณะ) คุณไม่ต้องการพิมพ์พวกเขา; แทนคัดลอก id id_dsa.pub identity.pub หรือไฟล์ id_rsa.pub และแก้ไข
sshd บังคับใช้โมดูลโมดูลัสโมดูล RSA ขั้นต่ำสำหรับโปรโตคอล 1 และโปรโตคอล 2 คีย์ 768 บิต
ตัวเลือก (ถ้ามี) ประกอบด้วยข้อมูลจำเพาะของตัวเลือกที่คั่นด้วยคอมมา ไม่อนุญาตให้เว้นวรรคยกเว้นในเครื่องหมายคำพูดคู่ รายละเอียดของตัวเลือกต่อไปนี้ได้รับการสนับสนุน (โปรดทราบว่าคำหลักที่เป็นตัวเลือกไม่คำนึงถึงตัวพิมพ์เล็กพิมพ์เล็ก):
จาก = รูปแบบรายการ
ระบุว่านอกจากการตรวจสอบคีย์สาธารณะชื่อที่ยอมรับของโฮสต์ระยะไกลต้องอยู่ในรายการรูปแบบที่คั่นด้วยจุลภาค (`* 'และ`?' ใช้เป็นสัญลักษณ์แทน) รายการอาจมีรูปแบบที่ถูกลบล้างโดยนำหน้าด้วย `! ' ; ถ้าชื่อโฮสต์ตามรูปแบบที่ตรงกับรูปแบบที่ถูกปฏิเสธคีย์นี้ไม่ได้รับการยอมรับ วัตถุประสงค์ของตัวเลือกนี้คือการเพิ่มความปลอดภัยให้กับตัวเลือก: การตรวจสอบคีย์สาธารณะโดยตัวเองไม่เชื่อถือเครือข่ายหรือเซิร์ฟเวอร์ชื่อหรืออะไรก็ได้ (แต่คีย์); แต่ถ้าใครบางคนขโมยกุญแจคีย์จะอนุญาตให้ผู้บุกรุกเข้าสู่ระบบได้จากทุกที่ในโลก ตัวเลือกเพิ่มเติมนี้ทำให้การใช้กุญแจที่ถูกขโมยยากขึ้น (เซิร์ฟเวอร์ชื่อและ / หรือเราเตอร์จะต้องถูกบุกรุกนอกเหนือจากคีย์)
คำสั่งคำสั่ง =
ระบุว่าคำสั่งจะถูกดำเนินการเมื่อคีย์นี้ใช้สำหรับการตรวจสอบสิทธิ์ คำสั่งที่ผู้ใช้ (ถ้ามี) จะถูกละเลย คำสั่งจะทำงานบน pty ถ้าลูกค้าร้องขอ pty; มิฉะนั้นจะทำงานโดยไม่มี tty ถ้าจำเป็นต้องมีช่องสะอาด 8 บิตเราต้องไม่ร้องขอ pty หรือควรระบุไม่มี Pty คำพูดอาจรวมอยู่ในคำสั่งโดยการอ้างคำพูดด้วยเครื่องหมายแบ็กสแลช ตัวเลือกนี้อาจเป็นประโยชน์ในการ จำกัด บางคีย์สาธารณะเพื่อดำเนินการเฉพาะบางอย่าง ตัวอย่างอาจเป็นคีย์ที่อนุญาตให้มีการสำรองข้อมูลระยะไกล แต่ไม่มีอะไรอื่น โปรดทราบว่าไคลเอ็นต์อาจระบุการส่งต่อ TCP / IP และ / หรือ X11 เว้นแต่จะได้รับอนุญาตโดยชัดแจ้ง โปรดทราบว่าตัวเลือกนี้ใช้กับการดำเนินการของเชลล์คำสั่งหรือระบบย่อย
สภาพแวดล้อมที่ชื่อ = = ค่า
ระบุว่าควรเพิ่มสตริงในสภาพแวดล้อมเมื่อเข้าสู่ระบบโดยใช้คีย์นี้ ตัวแปรสภาพแวดล้อมที่กำหนดด้วยวิธีนี้จะแทนที่ค่าดีฟอลต์อื่น ๆ อนุญาตให้มีตัวเลือกหลายประเภทได้ การประมวลผลสภาพแวดล้อมถูกปิดใช้งานโดยค่าเริ่มต้นและถูกควบคุมผ่านทางPermitUserEnvironment ตัวเลือก ตัวเลือกนี้จะถูกปิดการใช้งานโดยอัตโนมัติถ้าUseLogin เปิดใช้งาน.
ไม่มีการส่งต่อพอร์ต
ห้ามส่งต่อ TCP / IP เมื่อใช้คีย์นี้สำหรับการตรวจสอบสิทธิ์ การร้องขอการส่งต่อพอร์ตจากไคลเอ็นต์จะส่งคืนข้อผิดพลาด ซึ่งอาจใช้เช่นเชื่อมต่อกับคำสั่ง ตัวเลือก
ไม่มี X11 การส่งต่อ
ห้ามส่งต่อ X11 เมื่อใช้คีย์นี้เพื่อรับรองความถูกต้อง คำขอส่งต่อ X11 ใด ๆ ของลูกค้าจะส่งคืนข้อผิดพลาด
ไม่มีตัวแทนการส่งต่อ
ยับยั้งการส่งต่อตัวแทนการตรวจสอบสิทธิ์เมื่อใช้คีย์นี้สำหรับการตรวจสอบสิทธิ์
ไม่มี Pty
ป้องกันการจัดสรร tty (คำขอจัดสรร pty จะล้มเหลว)
permitopen = โฮสต์: พอร์ต
จำกัด ท้องถิ่น`` ssh -L '' port forwarding เพื่อให้สามารถเชื่อมต่อกับโฮสต์และพอร์ตที่ระบุเท่านั้น ที่อยู่ IPv6 สามารถระบุได้ด้วยไวยากรณ์ทางเลือก: โฮสต์ / พอร์ต หลายอย่าง permitopen อาจใช้ตัวเลือกแยกจากกันโดยใช้เครื่องหมายจุลภาค ไม่มีการจับคู่รูปแบบกับชื่อโฮสต์ที่ระบุต้องเป็นโดเมนหรือที่อยู่ที่แท้จริง
ตัวอย่าง
1024 33 12121 … 312314325 [email protected]
จาก = "*. niksula.hut.fi,! pc.niksula.hut.fi" 1024 35 23 … 2334 ylo @ niksula
คำสั่ง = "dump / home", no-pty, no-port-forwarding 1024 33 23 … 2323 สำรองข้อมูล.hut.fi
permitopen = "10.2.1.55:80", permitopen = "10.2.1.56:25" 1024 33 23 … 2323
Ssh_Known_Hosts รูปแบบไฟล์
ไฟล์ / etc / ssh / ssh_known_hosts และ $ HOME / .ssh / known_hosts ประกอบด้วยคีย์สาธารณะของโฮสต์สำหรับโฮสต์ที่รู้จักทั้งหมด ผู้ดูแลระบบควรจัดทำไฟล์ทั่วโลก (ถ้ามี) และไฟล์ต่อผู้ใช้จะถูกเก็บไว้โดยอัตโนมัติ: เมื่อใดก็ตามที่ผู้ใช้เชื่อมต่อจากโฮสต์ที่ไม่รู้จักคีย์จะถูกเพิ่มลงในไฟล์ต่อผู้ใช้
แต่ละบรรทัดในไฟล์เหล่านี้มีฟิลด์ต่อไปนี้: ชื่อโฮสต์บิตเลขยกกำลังโมดูลัสความคิดเห็น ช่องจะคั่นด้วยช่องว่าง
ชื่อโฮสต์เป็นรายการรูปแบบที่คั่นด้วยเครื่องหมายจุลภาค ('*' และ '?' ทำหน้าที่เป็นสัญลักษณ์แทน) แต่ละรูปแบบจะตรงกันกับชื่อโฮสต์ตามบัญญัติ (เมื่อตรวจสอบสิทธิ์ไคลเอ็นต์) หรือเทียบกับชื่อผู้ใช้ที่ระบุ (เมื่อตรวจสอบความถูกต้องของเซิร์ฟเวอร์) รูปแบบอาจจะถูกนำหน้าด้วย `! ' เพื่อระบุการปฏิเสธ: ถ้าชื่อโฮสต์ตรงกับรูปแบบที่ไม่เป็นที่ยอมรับจะไม่ได้รับการยอมรับ (ตามบรรทัดนั้น) แม้ว่าจะตรงกับรูปแบบอื่นในบรรทัดก็ตาม
บิตเลขชี้กำลังและโมดูลัสจะถูกนำมาจากคีย์โฮสต์ RSA โดยตรง สามารถรับได้จาก /etc/ssh/ssh_host_key.pub ฟิลด์ความคิดเห็นที่ไม่บังคับยังคงอยู่ปลายสายและไม่ได้ใช้
บรรทัดที่ขึ้นต้นด้วย `# 'และบรรทัดที่ว่างเปล่าจะถูกละเว้นเป็นความคิดเห็น
เมื่อทำการตรวจสอบสิทธิ์โฮสต์การตรวจสอบสิทธิ์จะได้รับการยอมรับหากสายการจับคู่ใด ๆ มีคีย์ที่เหมาะสม ดังนั้นจึงอนุญาต (แต่ไม่แนะนำ) ให้มีหลายบรรทัดหรือคีย์โฮสต์ที่แตกต่างกันสำหรับชื่อเดียวกัน นี้จะหลีกเลี่ยงไม่ได้เมื่อรูปแบบสั้น ๆ ของชื่อโฮสต์จากโดเมนที่แตกต่างกันจะใส่ในไฟล์ เป็นไปได้ว่าไฟล์มีข้อมูลที่ขัดแย้งกัน การรับรองความถูกต้องยอมรับได้ถ้าข้อมูลที่ถูกต้องสามารถพบได้จากไฟล์ทั้งสอง
โปรดทราบว่าบรรทัดในไฟล์เหล่านี้มักมีความยาวหลายร้อยอักขระและคุณไม่ต้องการพิมพ์คีย์โฮสต์ด้วยตนเอง สร้างไฟล์เหล่านั้นโดยใช้สคริปต์หรือโดยการ /etc/ssh/ssh_host_key.pub และเพิ่มชื่อโฮสต์ที่ด้านหน้า
ตัวอย่าง
closenet, … , 130.233.208.41 1024 37 159 … 93 closenet.hut.fi cvs.openbsd.org, 199.185.137.3 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" draft-ietf-secsh-architecture-12.txt มกราคม 2002 งานในเอกสารความคืบหน้า
M. Friedl N. Provos W. อัลซิมป์สัน "การแลกเปลี่ยนกลุ่ม Diffie-Hellman สำหรับ SSH Transport Layer Protocol" draft-ietf-secsh-dh-group-exchange-02.txt มกราคม 2002 ทำงานในเอกสารความคืบหน้า
สำคัญ: ใช้ ชาย คำสั่ง ( % ชาย ) เพื่อดูว่ามีการใช้คำสั่งใดในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ