SSH:“ สิทธิ์ 0644 สำหรับ 'my_key.pub' นั้นเปิดเกินไป”


21

ทำไม0644เช่น-rw-r--r--เปิดเกินไปสำหรับคีย์ SSH นอกจากนี้ฉันไม่สามารถหาสิทธิ์ที่ผิดพลาดใน.sshไดเรกทอรี ( 0700) หรือไดเรกทอรีบ้าน ( 0731)

แต่ฉันได้รับข้อผิดพลาดนี้เมื่อทำการทดสอบการแปลความหมายของรหัสผ่าน ssh-keygen -y -f my_key.pub

ขอแสดงความนับถืออย่างสูง

คำตอบ:


7

คุณอาจใช้ ssh-keygen ในไฟล์ที่ไม่ถูกต้อง ssh-keygen -yทำงานกับไฟล์กุญแจส่วนตัว ปกติแล้วไฟล์ ".pub" จะมีรหัสสาธารณะ คุณอาจมีไฟล์ชื่อที่my_keyไม่มีส่วนขยายใด ๆ และควรจะเป็นโหมด 0600 นั่นคือไฟล์ที่ควรมีไพรเวตคีย์

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


11

0644 ไม่ควรเปิดเกินไปสำหรับพับลิกคีย์ แต่เปิดเกินไปสำหรับไพรเวตคีย์ของคุณ

คีย์ส่วนตัวของคุณควรได้รับอนุญาตขณะที่คีย์สาธารณะของคุณได้รับอนุญาต06000644

โดยวิธีการที่คุณควรดูแลสิทธิ์ใน.sshโฟลเดอร์ ควรมีสิทธิ์0700เพื่อให้เฉพาะคุณเจ้าของเท่านั้นที่มีสิทธิ์ควบคุมโฟลเดอร์

สำหรับโฮมไดเร็กตอรี่ของคุณ, การอนุญาตให้เขียนไม่ควรให้กับกลุ่มและอื่น ๆ .

เรียกใช้chmod go-w /home/usernameควรแก้ไขปัญหานั้น


ห้ามทำตามคำแนะนำเหล่านี้อย่างเด็ดขาด นี่ไม่ใช่สิ่งที่คุณควรทำ สิ่งนี้จะรีเซ็ตสิทธิ์การเข้าถึงไดเรกทอรีบ้านทั้งหมด คุณควรปรับเปลี่ยน.sshโฟลเดอร์และid_rsaไฟล์เท่านั้นไม่ใช่ไดเรกทอรีบ้านทั้งหมดของคุณ!
niftylettuce

9

chmod 600 ~/.ssh/id_rsaคำสั่งเดียวที่คุณต้องวิ่งเป็น แค่นั้นแหละ.

สิ่งนี้จะเปลี่ยนแปลงการอนุญาตในไฟล์เพื่อให้เจ้าของ (คุณ) สามารถอ่านและเขียนได้ซึ่งจะลบข้อความแสดงข้อผิดพลาดที่คุณได้รับ


อัปเดต @TwistyImpersonator
niftylettuce

0

คำตอบข้างต้นถูกต้อง แต่ก่อนที่จะใช้ใด ๆchmodสิทธิ์แก้ไขเพียงให้แน่ใจว่าคุณIdentityFile(s) ใน~/.ssh/configสิ่งที่ต้องทำหมายถึงคีย์ส่วนตัวของคุณ สามเณรอาจเข้าใจผิดและอ้างถึงกุญแจสาธารณะ (ที่มี.pubนามสกุล) แทนดังนั้นจึงนำไปสู่ข้อผิดพลาดเดียวกันนั้น (เนื่องจากการอนุญาตไฟล์กุญแจสาธารณะนั้นเปิดเกินไปสำหรับกุญแจส่วนตัว)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.