เซิร์ฟเวอร์ ssh อื่น - ซึ่งสามารถกำหนดค่าให้อนุญาตการเชื่อมต่อทั้งหมดโดยไม่มีการรับรองความถูกต้อง


2

กรุณาบอกฉันว่ามีเซิร์ฟเวอร์ ssh ที่มีความสามารถที่ผิดปกตินี้หรือไม่? หรือฉันจะต้องแก้ไขซอร์สโค้ดของ openssh-server และคอมไพล์ใหม่?


1
บางสิ่งมีกลิ่นคาว นี่คือสิ่งที่คุณต้องการจะทำหรือเป็นไปในส่วนอื่น ๆ ตัวอย่างเช่นคุณต้องการจริงๆ ใคร ๆ เพื่อเชื่อมต่อหรือเป็นส่วน "ไม่มีการตรวจสอบสิทธิ์" ที่คุณต้องการหรือไม่ ทำไม? ดู: ปัญหา XY

1
ทำไมไม่ใช้การรับรองความถูกต้องของกุญแจสาธารณะ? เพียงเพิ่มกุญแจของทุกคนในรายการคีย์ที่ได้รับอนุญาต ssh-copy-id ) พวกเขาจะมีการเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านตั้งแต่นั้นมา (ตราบใดที่มีการเพิ่มคีย์ ssh ไปยังตัวแทนผู้ใช้ซึ่งควรเป็นอัตโนมัติใน Ubuntu)

1
คุณลองตั้งค่าทั้งหมดแล้วหรือยัง *Authentication ตัวเลือกเพื่อ "ไม่" ใน /etc/ssh/sshd_config?

1
ฉันรู้ทางเลือกเดียวสำหรับ openssh และนั่นก็คือ LSH แต่ฉันสงสัยว่าจะทำอย่างใดอย่างหนึ่ง คุณกำลังถอด "secure" ออกจาก "secure shell" ดังนั้นฉันสงสัยว่าจะมีใครสนับสนุน ฉันคิดว่าวิธีการแก้ไขที่ถูกต้องและสิ่งที่คุณควรทำตามมาตลอดคือการพิสูจน์ตัวตนของรหัสสาธารณะให้ทำงานได้ คือ คุณลักษณะที่สนับสนุนของเซิร์ฟเวอร์ SSH

1
คุณเข้าใจผิด มันรวมถึง lshdเซิร์ฟเวอร์ SSH คุณสามารถลองรวมมัน --no-password และ --no-publickey ตัวเลือก. นอกจากนี้ยังมีตัวเลือกการทดลอง --login-auth-mode เพื่อปิดใช้งานการตรวจสอบสิทธิ์โดยสิ้นเชิง ดูคำตอบที่อัปเดตของฉันด้านล่าง

คำตอบ:


1

ให้ผู้ใช้ทั้งหมดเรียกใช้สิ่งนี้จากเครื่องท้องถิ่น:

([ -f ~/.ssh/id_rsa.pub ] || ssh-keygen -t rsa ) && (ssh user@example.com "([ -d ~/.ssh ]||mkdir -m 700 ~/.ssh) && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub)

แทนที่ "user @ example" ด้วยชื่อผู้ใช้และชื่อโฮสต์หรือที่อยู่ IP ของบอร์ด


เนื่องจากคุณประสบปัญหาในการตรวจสอบสิทธิ์กุญแจสาธารณะคุณสามารถลอง LSH . lshdเซิร์ฟเวอร์ lsh SSH มีตัวเลือกทดลอง --login-auth-mode เพื่อเลี่ยงผ่านการตรวจสอบผู้ใช้ ดู คู่มือ สำหรับข้อมูลเพิ่มเติม.


น่าเสียดายที่ฉันมีปัญหาที่สำคัญเกี่ยวกับกุญแจที่ได้รับอนุญาตพวกเขาไม่สามารถใช้กับบอร์ดนี้ได้ไม่ว่าฉันจะทำอะไร ยังไม่ทราบวิธีแก้ปัญหาดังนั้นฉันจึงต้องการปิดใช้งานการรักษาความปลอดภัย SSH ตลอดเวลา
Jake Badlands

1
ขออภัยฉันโพสต์คำตอบนี้ก่อนที่ความคิดเห็นของคุณจะมาถึงคำถามข้างต้น

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

0

สมมติว่าคุณกำลังใช้งานยูนิกซ์บางประเภทที่ใช้ PAM ให้ลบรายการรับรองความถูกต้องทั้งหมดสำหรับการกำหนดค่า PAM ที่ ssh ใช้ควรทำสิ่งนี้ อย่าลืมตั้งค่า UsePAM เป็น "ใช่" ใน sshd_config ของคุณ

แต่นี่เป็นความคิดที่แย่จริงๆ ไม่ว่าเหตุผลของคุณคืออะไร


0

การพิสูจน์ตัวตนโดยไม่มีรหัสผ่านเป็นตัวเลือก (ค่อนข้างแย่) ที่คุณทำและจะทำได้โดยการปรับแต่งไฟล์ปรับแต่งของเซิร์ฟเวอร์ของคุณ (ssh openssh หรือ .... ) ฉันจะแนะนำให้คุณใช้ MOSH; ซึ่งเป็น openSSH รุ่นใหม่ คุณสามารถอ่านทั้งหมดได้ที่ ร็อกแผ่น


จากความคิดเห็นภายใต้คำถามดูเหมือนว่าเป็นไปไม่ได้ที่จะปิดใช้งานการรับรองความถูกต้องใน OpenSSH daemon โดยปรับแต่งการกำหนดค่า คุณแน่ใจหรือว่า MOSH อนุญาตสิ่งนี้ ถ้าใช่คุณช่วยเพิ่มรายละเอียดเพิ่มเติมได้ไหม? ------ ดูเหมือนว่าประโยชน์ที่สำคัญของ MOSH เป็นโปรโตคอลใหม่ที่ทำงานบน UDP และเสียงสะท้อนจากการพยากรณ์ ------- ฉันไม่ได้สังเกตเห็นการเปลี่ยนแปลงใด ๆ ในการตรวจสอบผู้ใช้ใน MOSH ในความเป็นจริงดูเหมือนว่า MOSH ใช้ SSH มาตรฐานสำหรับการตรวจสอบผู้ใช้ โปรดมอง mosh.mit.edu/#about .
pabouk

pabouk; ฉันไม่ทราบว่าคุณหมายถึงอะไรเมื่อคุณพูดว่า "ปิดใช้งานการรับรองความถูกต้อง" ถ้าคุณหมายถึงสิ่งที่ฉันคิดว่าคุณหมายถึงเพียงแค่ตั้งค่า PasswordAuthentication no ในของคุณ sshd_config ไฟล์และคุณเป็นสีทอง
r004

"ปิดใช้งานการรับรองความถูกต้อง" - ไม่ใช่คำถามเกี่ยวกับ - เพื่อกำหนดค่า sshd ไม่ต้องการการรับรองความถูกต้อง? --- เป็นการดีเสมอที่จะตรวจสอบความคิดเห็นและคำตอบอื่น ๆ ก่อนที่จะตอบ นี่คือความคิดเห็นที่เกี่ยวข้องสำหรับ PasswordAuthentication ตัวเลือก: superuser.com/questions/621719/... ถ้า PasswordAuthentication no เหมาะกับคุณแล้วโปรดแจ้งให้เราทราบ
pabouk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.