อนุญาตให้ล็อกอินรูทจากที่อยู่ IP เดียวเท่านั้น


14

ฉันมี centos5

มีวิธีใดบ้างที่ฉันสามารถลงชื่อเข้าใช้เซิร์ฟเวอร์ vps ของฉันด้วยผู้ใช้รูทจากที่อยู่ IP เฉพาะเท่านั้น

ฉันได้อ่านแล้วว่าฉันสามารถใช้ไพรเวตคีย์เพื่อล็อกอินเข้าสู่ sshd ได้ แต่ปัญหาคือฉันใช้ SFTP สำหรับ webistes ทั้งหมดของฉันและฉันไม่ต้องการให้ผู้ใช้ที่ไม่ใช่ผู้ใช้ไอทีใช้กุญแจเพื่อเข้าสู่ระบบด้วย SFTP

หรือมีวิธีใดที่รูทเท่านั้นที่สามารถใช้คีย์เพื่อล็อกอินเข้าสู่เชลล์ แต่สำหรับรหัสผ่านปกติอื่น ๆ

centos  root  ssh 

คำตอบ:


15

วิธีที่ดีกว่าตอนนี้คือการใช้คำหลักที่ทำงานแบบตรง:

Match Host myworkstation
        PermitRootLogin yes

หรือ

Match Address 192.168.1.100
        PermitRootLogin yes

ด้วยวิธีนี้คุณสามารถปล่อยให้ PermitRootLogin ตั้งค่าเป็น 'ไม่' แต่คุณยังสามารถเข้าสู่ระบบในฐานะรูทจากเวิร์กสเตชันของคุณ

ตัวอย่างนี้สามารถใช้เพื่ออนุญาตให้รูทข้อมูล rsync ระหว่างสองโฮสต์


ตัวอย่าง rsync ของคุณตรงกับกรณีการใช้งานที่ฉันไปถามคำถามนี้ ขอขอบคุณ! ;)
ม.ค.

โปรดทราบว่าสามารถใช้งานได้โดยใช้ DNS ย้อนกลับของที่อยู่ IP ต้นทาง (อย่างน้อยสำหรับฉันมันเป็นวิธีเดียว)
mveroone

9

โดยทั่วไปแล้วควรทำการเข้าสู่ระบบในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษก่อนจากนั้นใช้ 'su -' หรือ 'sudo' เพื่อรับสิทธิ์รูท แต่ ...

คุณสามารถวางข้อ จำกัด IP บนคีย์ของคุณใน ~ root / .ssh / authorized_keys:

from="192.168.1.100" ssh-rsa AAAAh9uif...auwehuf== yourkey@yourhost.com

สิ่งนี้จะอนุญาตให้ ssh ใช้คีย์ yourkey@yourhost.com เท่านั้นจาก 192.168.1.100


เห็นด้วยแม้ว่าจะมีความซับซ้อนมากกว่าที่จะทำเพื่อสิ่งต่าง ๆ เช่น sftp, rsync, sshfs ...
mveroone

3

ใช้:

PermitRootLogin โดยไม่มีรหัสผ่าน

ใน / etc / ssh / sshd_config ผู้ใช้ทุกคนที่ไม่รวมรูทจะได้รับอนุญาตให้ใช้การเข้าสู่ระบบด้วยรหัสผ่าน รูทต้องใช้คีย์เพื่อเข้าสู่ระบบ


ข้อเสียนี้จะใช้งานได้หรือไม่? คุณลองทำไหม

ฉันใช้การตั้งค่านั้นในทุก ๆ เซิร์ฟเวอร์ที่ฉันดูแล มันป้องกันการโจมตีแบบ bruteforce / dict unixhelp.ed.ac.uk/CGI/man-cgi?sshd_config+5
rubiojr

สิ่งนี้ดูเหมือนจะผิดพลาดgit pull: / etc / ssh / ssh_config: บรรทัด 68: ตัวเลือกการกำหนดค่าไม่ถูกต้อง: permrootlogin
geoidesic

PermitRootLogin จะไม่ปรากฏในman ssh_config
geoidesic

แทนที่ได้อย่างง่ายดายด้วยssh -o PreferredAuthentications=password
geoidesic

2

แก้ไขsshd_config(โดยปกติเป็น/etc/ssh) และเพิ่มหรือเปลี่ยนคำสั่งต่อไปนี้

  PermitRootLogin yes
  AllowUsers root@thehosttoallow

จากนั้นรีสตาร์ท daemon

  service ssh restart

ฉันเชื่อว่าถ้า OP ต้องการใช้AllowUsersเขาจะต้องระบุผู้ใช้ทั้งหมดที่เขาต้องการเข้าถึง ตัวอย่างของคุณจะอนุญาตให้รูทตรวจสอบสิทธิ์ผ่าน ssh เท่านั้น
EEAA

1
ใช่มันมีจุดประสงค์ เพื่ออนุญาตให้ผู้ใช้ใด ๆ*@thehosttoallowแน่นอนให้ผู้ใช้เข้า
แหวนØ

แทนที่ได้อย่างง่ายดายด้วยssh -o PreferredAuthentications=password
geoidesic

0

ขั้นแรกทำไมคุณถึงต้องการป้องกันไม่ให้ผู้ใช้ใช้การตรวจสอบคีย์ นั่นทำให้ฉันไม่มีเหตุผล

ประการที่สองไม่อนุญาตให้เข้าสู่ระบบรูทผ่าน ssh อย่าทำอย่างนั้น - ไม่มีเหตุผลที่ดีที่ต้องทำเช่นนั้น มันขัดกับแนวปฏิบัติที่ดีที่สุดทุกข้อและด้วยเหตุผลที่ดี หากคุณต้องการให้สิทธิ์ในการอ่าน / เขียนไฟล์บางไฟล์คุณควรสามารถทำได้ผ่านการอนุญาตระบบไฟล์มาตรฐานของ linux หากคุณต้องการการควบคุมการเข้าถึงที่ละเอียดยิ่งขึ้นให้ดูที่ระบบ linux ACL


จะทำอย่างไรถ้าฉันปิดใช้งานการเข้าสู่ระบบรูทและผู้ใช้คนใดไม่สามารถเข้าถึงไฟล์กำหนดค่าหลักบางอย่างได้ จากนั้นฉันถูกล็อคเนื่องจากฉันไม่สามารถเข้าสู่ระบบผ่านรูท

1
เมื่อคุณปิดใช้งานการเข้าสู่ระบบรูทผ่าน ssh รูทจะยังสามารถลงชื่อเข้าใช้ได้ผ่านทางคอนโซล นอกจากนี้คุณยังมีตัวเลือกในการให้สิทธิ์ผู้ใช้รูตตามปกติผ่าน sudo สิ่งนี้จะไม่ทำงานสำหรับ SFTP แต่เป็นความล้มเหลวในกรณีที่คุณต้องการแก้ไขสิ่งต่าง ๆ มันจะทำงานได้ดีและเป็นวิธีการที่ได้รับอนุญาตที่ต้องการ
EEAA

1
@ErikA การอนุญาตrootจากโฮสต์ที่ไม่ซ้ำนั้นไม่ปลอดภัย มีแนวโน้มต่อต้านการrootเข้าถึงผ่านทางtelnetไม่กี่ปีหลัง ( sshเป็นเรื่องธรรมดา) แต่การอนุญาตให้rootผ่านsshไปยังโฮสต์เดียวเท่านั้นที่ดูไม่ปลอดภัย
แหวนØ

แน่นอนมันอาจจะ "ปลอดภัย" แต่ฉันจะยังคงยืนยันว่ามันเป็นความคิดที่ไม่ดี ฉันพูดแบบนี้ส่วนใหญ่เนื่องจากความจริงที่ว่าเมื่อผู้คนได้รับวิธีง่าย ๆ ในการเข้าถึงรูทพวกเขาจะใช้มันแทนที่จะใช้วิธีที่ปลอดภัยและเหมาะสมกว่าเพื่อเข้าถึง (sudo)
EEAA

2
เมื่อพิจารณาถึงคำถามของผู้แต่งเราสามารถสันนิษฐานได้ว่าเขาต้องการทำงานด้านการบริหารผ่านrootผู้ใช้ การอนุญาตให้rootเข้าถึงโดยตรงจากโฮสต์เดียวในกรณีนี้เป็นทางเลือกที่สมเหตุสมผล
แหวนØ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.