ผู้ใช้คนใดที่ได้รับอนุญาตให้ลงชื่อเข้าใช้ผ่าน SSH


18
  1. เมื่อฉันตั้งค่า Debian 6 ฉันสงสัยว่าผู้ใช้รายใดนอกเหนือจากรูทซึ่งฉันรู้ว่ารหัสผ่านสามารถเข้าสู่ระบบของฉันผ่านทาง SSH ได้บ้าง?

  2. เมื่อฉันติดตั้ง Apache 2 ผู้ใช้ชื่อ www-data จะถูกสร้างขึ้น ผู้ใช้รายนี้มีสิทธิ์เข้าสู่ระบบของฉันผ่าน SSH หรือไม่ แต่ถ้ามีรหัสผ่านเริ่มต้นสำหรับ www-data ที่ทุกคนสามารถเข้าสู่ระบบได้

  3. ฉันจะมีรายการที่อนุญาตให้ผู้ใช้เข้าสู่ระบบของฉันผ่านทาง SSH ได้ที่ไหน ไม่พบสิ่งใดในไฟล์ ssh config

คำตอบ:


20

Paradeepchhetri ไม่ถูกต้องอย่างแน่นอน

Debian ที่ไม่sshd_configได้แก้ไขมีดังต่อไปนี้:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

ดังนั้นการเข้าสู่ระบบผ่านทาง SSH จะทำงานเฉพาะสำหรับผู้ใช้ที่มีฟิลด์รหัสผ่านที่มีประชากรใน/etc/shadowหรือคีย์ SSH ~/.ssh/authorized_keysใน โปรดทราบว่าค่าเริ่มต้นสำหรับPubkeyAuthenticationคือyesและเพื่อPermitEmptyPasswordsเป็นnoดังนั้นแม้ว่าคุณจะลบพฤติกรรมเหล่านั้นจะเหมือนกัน

ในตัวอย่างคำถามที่www-dataตามค่าเริ่มต้นจะไม่ได้รับอนุญาตให้เข้าสู่ระบบตั้งแต่การติดตั้ง Debian www-dataของค่ากำหนดรหัสผ่านหรือสร้างที่สำคัญสำหรับ

pam_access, AllowUsersและAllowGroupsในsshd_configสามารถนำมาใช้สำหรับการควบคุมปลีกย่อยถ้าที่จำเป็น ใน Debian UsePAMก็ขอแนะนำให้


10

โดยค่าเริ่มต้นการเข้าสู่ระบบจะได้รับอนุญาตสำหรับผู้ใช้ทั้งหมดใน Debian

คุณสามารถเปลี่ยนได้โดยอนุญาตให้ผู้ใช้บางคนที่สามารถเข้าสู่ระบบโดยแก้ไข/etc/ssh/sshd_configไฟล์

ตามที่กล่าวไว้ใน man page ของ sshd_config

AllowUsers

คำหลักนี้สามารถตามด้วยรายการรูปแบบชื่อผู้ใช้คั่นด้วย
ช่องว่าง หากระบุการล็อกอินจะได้รับอนุญาตสำหรับชื่อผู้ใช้ที่ตรงกับหนึ่งในรูปแบบเท่านั้น ชื่อผู้ใช้เท่านั้นที่ถูกต้อง; ไม่
รู้จักID ผู้ใช้ที่เป็นตัวเลข โดยค่าเริ่มต้นอนุญาตให้เข้าสู่ระบบสำหรับผู้ใช้ทั้งหมด หากรูปแบบใช้แบบฟอร์มUSER@HOSTนั้นUSERและHOSTมีการตรวจสอบแยกต่างหากการ จำกัด การเข้าสู่ระบบให้กับผู้ใช้เฉพาะจากโฮสต์ที่เฉพาะเจาะจง อนุญาต / ปฏิเสธคำสั่งจะถูกประมวลผลในลำดับต่อไปนี้: DenyUsers, AllowUsers, และในที่สุดก็DenyGroupAllowGroups


ฉันเพิ่ม "บนเดเบียน" ในกรณีที่มีใครบางคนเข้ามาและอ่านชื่อคำถามและคำตอบโดยไม่อ่านคำถามเอง คำตอบทั่วไปของชื่อคำถามคือ "ขึ้นอยู่กับเนื้อหาของsshd_configไฟล์ที่จัดส่ง" OSes บางตัวมาพร้อมกับการเข้าสู่ระบบรูทผ่าน SSH ที่ไม่ได้รับอนุญาต
Warren Young

ขอบคุณ แต่เห็นได้ชัดว่าโดยค่าเริ่มต้นรูทเท่านั้นที่สามารถเข้าสู่ระบบได้เนื่องจากเขาเป็นเพียงคนเดียวที่มีรหัสผ่านใน / etc / shadow
JohnnyFromBF

7

โดยค่าเริ่มต้นSSH serverไม่ได้ติดตั้ง คุณจะต้องติดตั้งopenssh-serverแพ็กเกจก่อนที่จะมีใครสามารถใช้ SSH ได้

หลังจากนั้นผู้ใช้จะต้องผ่านการตรวจสอบสองครั้ง:

  • การรับรองความถูกต้อง SSH
  • ตรวจสอบบัญชี PAM

รับรองความถูกต้อง SSH หมายความว่าทั้งผู้ใช้จะต้องมีรหัสผ่านที่ถูกต้องใน/etc/shadowหรือพวกเขามีคีย์ SSH ~/.ssh/authorized_keysสาธารณะที่ถูกต้องมีสิทธิ์ที่ถูกต้องในของผู้ใช้เป้าหมาย

รหัสผ่านที่ถูกต้องมีการอธิบายเพิ่มเติมในcrypt(3)หน้าคน แต่โดยทั่วไปถ้าเขตข้อมูลที่ 2 ของผู้ใช้ใน/etc/shadowสิ่งที่เริ่มต้นด้วย$NUMBER$ก็อาจถูกต้องและถ้ามัน*หรือ!มันหรือไม่ถูกต้อง

การตรวจสอบบัญชี PAM โดยทั่วไปหมายความว่าบัญชียังไม่หมดอายุ chage -l USERNAMEคุณสามารถตรวจสอบว่าการใช้

ดังนั้นเพื่อตอบคำถามของคุณความรู้ของฉัน:

  1. เฉพาะ root และบัญชีที่คุณสร้างระหว่างตัวช่วยสร้างการติดตั้งเท่านั้นที่สามารถเข้าสู่ระบบใหม่ได้
  2. ไม่เพราะwww-dataมีรหัสผ่านที่แฮช*แล้วและไม่มี~www-data/.ssh/authorized_keysไฟล์
  3. ไม่มีรายการเดียวเนื่องจากมีหลายข้อกำหนด แต่เพื่อให้ได้แนวคิดคุณสามารถลองใช้งานได้ grep -v '^[^:]*:[!*]:' /etc/shadow

1
ระวังรหัสผ่านที่ว่างเปล่าเป็นรหัสผ่านที่ถูกต้อง แต่เมื่อbahamatชี้ให้เห็นการกำหนดค่า SSH เริ่มต้น (และการกำหนดค่า Debian เริ่มต้น) ไม่อนุญาตให้ลงชื่อเข้าใช้ SSH สำหรับบัญชีรหัสผ่านที่ว่างเปล่า
Totor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.