อะไรจะหยุดไม่ให้ผู้อื่นคัดลอกกุญแจสาธารณะของพวกเขาไปยังเซิร์ฟเวอร์ของฉัน


0

ฉันกำลังตั้งค่าโฮมเซิร์ฟเวอร์เครื่องแรกของฉันและต้องการทำให้สามารถใช้งานอินเทอร์เน็ตจากอินเทอร์เน็ตได้ดังนั้นฉันจึงสามารถเข้าถึงได้ทุกที่

ฉันทำตามคำแนะนำนี้และฉันเข้าใจมันจนถึงจุดที่กล่าวไว้

เมื่อสร้างคู่ของคีย์แล้วก็ถึงเวลาวางกุญแจสาธารณะบนเซิร์ฟเวอร์เสมือนที่เราต้องการใช้

คุณสามารถคัดลอกคีย์สาธารณะลงในเครื่องใหม่ของไฟล์ที่มีauthorized_keys ssh-copy-id commandตรวจสอบให้แน่ใจว่าได้แทนที่ชื่อผู้ใช้และที่อยู่ IP ตัวอย่างด้านล่าง

ssh-copy-id user@123.45.56.78

หรือคุณสามารถวางในคีย์โดยใช้ SSH:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

ฉันสับสนเพราะใครไม่สามารถสร้างคีย์ rsa บนเครื่องคอมพิวเตอร์ของพวกเขาแล้วคัดลอกไปยังเซิร์ฟเวอร์ของฉัน (สมมติว่าพวกเขารู้ที่อยู่ IP หรือชื่อโดเมนและชื่อผู้ใช้บนเซิร์ฟเวอร์)


ใช่คุณเคยเห็นจากคำตอบของ DanielB .. นอกจากนี้คุณต้องเปิดใช้งาน PasswordAuthentication ด้วยเพื่อที่จะคัดลอกกุญแจ บางครั้งผู้ชี้แนะไม่สามารถอธิบายสิ่งต่าง ๆ ได้ดีนอกเหนือไปจากคำสั่งที่จะพิมพ์ค่ะวิธีการเรียนรู้จากคู่มือคือการทำจากคำแนะนำ ในกรณีนี้ถ้าคุณลองคุณจะเห็นว่ามันพร้อมท์ให้ใส่รหัสผ่าน
barlop

ใช่ฉันมีคำถามอีกหนึ่งว่า นี่เป็นวิธีที่ดีกว่าการใช้รหัสผ่านในขณะที่บางคนสามารถลองใช้วิธีการคัดลอกคีย์อย่างหนักเพราะสิ่งที่คุณต้องใช้ในการคัดลอกคีย์คือรหัสผ่าน
user2237160

หรือเป็นกรณีที่เมื่อคุณปิดการใช้งาน PasswordAuthentication ในการตั้งค่าจะไม่สามารถคัดลอกคีย์ rsa ไปยังเซิร์ฟเวอร์ได้อีกต่อไป?
user2237160

กำลังดุร้าย เมื่อคีย์ถูกคัดลอกไปแล้ว PasswordAuthentication สามารถตั้งค่าเป็นไม่จากนั้น ssh-copy-id ไม่สามารถเข้าเพื่อที่จะได้รับใน ssh-copy-id จะ ssh ค่ะดังนั้นหากคีย์ของคอมพิวเตอร์ต้นทางไม่ได้อยู่ใน เซิร์ฟเวอร์ปลายทางและ PasswordAuthentication ถูกตั้งค่าเป็นไม่จากนั้น ssh-copy-id ไม่สามารถเข้าได้เนื่องจาก ssh ไม่สามารถเข้าได้ ssh โดยค่าเริ่มต้นพยายาม PubKeyAuthentication ก่อนจากนั้น PasswordAuthentication ดังนั้นหากคีย์ใช้งานได้จะไม่มีการแจ้งให้และถ้าคีย์ล้มเหลวคุณจะได้รับพรอมต์รหัสผ่าน และ sshd มักจะมี PubKeyAuthentication และ PasswordAuthentication เพื่อใช่
barlop

ฉันไม่แน่ใจว่า ssh-copy-id พยายาม PubKeyAuthentication หรือไม่ แต่ถ้าเป็นเช่นนั้นก็จะไร้ประโยชน์ เพราะถ้ามันสามารถผ่านเข้าทางกุญแจได้มันก็ไม่ได้ทำอะไรและถ้ามันทำไม่ได้มันจะต้องลอง PasswordAuthentication ต่อไป BTW มันเป็นไปได้สำหรับตัวอย่างเช่น ssh ไปในการระบุเพื่อทำ PasswordAuthentication $ ssh -o "PubKeyAuthentication no" user@comp หรือ PasswordAuthentication no เท่านั้นดังนั้นจึงพยายาม PubKeyAuthentication เท่านั้น โดยค่าเริ่มต้นมันพยายามทั้งสองคือคีย์แล้วถ้ามันล้มเหลวแล้วรหัสผ่าน และวิธีใดก็ตามที่มันพยายามจะสามารถทำงานได้ก็ต่อเมื่อ sshd_config บนคอมพิวเตอร์ปลายทางอนุญาตให้ใช้งานได้
barlop

คำตอบ:


2

คุณดูเหมือนจะเข้าใจผิด หลังจากทำงานคุณจะได้รับการแจ้งเตือนssh-copy-id bla@example.com Password:หากไม่ทราบรหัสผ่านหรือข้อมูลรับรองที่ถูกต้องอื่น ๆ คำสั่งจะไม่สามารถใช้งานได้จริง


0

หากพวกเขาสามารถทำการคัดลอกได้พวกเขาก็สามารถดำเนินการอื่นได้เช่นกัน ดังนั้นความกังวลนี้ไม่สมเหตุสมผล


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

@ user2237160 ผู้ใช้ที่ไม่ จำกัด (สามารถใช้คำสั่งเชลล์หรือ SCP / SFTP หรือสั่งการ) สามารถทำได้ ทำไมพวกเขาไม่? พวกเขาสามารถเข้าถึงได้ เนื่องจากการคัดลอกคีย์คุณจำเป็นต้องเข้าสู่ระบบด้วยข้อมูลประจำตัวก่อนหน้าของคุณ (คีย์อื่นหรือรหัสผ่านหรืออะไรก็ตาม)
Daniel B

คุณหมายถึงอะไร "เพื่อคัดลอกคีย์ที่คุณจำเป็นต้องเข้าสู่ระบบด้วยข้อมูลประจำตัวก่อนหน้าของคุณ" คำแนะนำไม่เคยพูดถึงการเข้าสู่เซิร์ฟเวอร์เพื่อคัดลอกคีย์มากกว่า ทั้งหมดที่กล่าวมาคือคุณต้องทำ ssh-copy-id user @ serverIPAddress คุณกำลังบอกว่าคำสั่งนี้พร้อมท์ให้คุณใส่รหัสผ่านของ 'ผู้ใช้' หรือไม่
user2237160

@DanielB ยืนยันแล้ว คุณต้องใช้รหัสผ่าน ขออภัยสำหรับความเข้าใจผิด
user2237160

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