ฉันกำลังพยายามสร้างคีย์ ssh สำหรับผู้ใช้รายอื่น ฉันเข้าสู่ระบบในฐานะ root ฉันสามารถแก้ไขไฟล์ที่สร้างโดย ssh-keygen และเปลี่ยนรูทเป็นผู้ใช้ที่ฉันต้องการได้หรือไม่?
ฉันกำลังพยายามสร้างคีย์ ssh สำหรับผู้ใช้รายอื่น ฉันเข้าสู่ระบบในฐานะ root ฉันสามารถแก้ไขไฟล์ที่สร้างโดย ssh-keygen และเปลี่ยนรูทเป็นผู้ใช้ที่ฉันต้องการได้หรือไม่?
คำตอบ:
อย่างไรก็ตามคุณสามารถทำเช่นนั้นได้ด้วยssh-keygen
จำไว้ว่าคีย์ส่วนตัวนั้นมีความเป็นส่วนตัวของผู้ใช้ดังนั้นคุณควรระมัดระวังให้ดีเพื่อให้ปลอดภัย - ปลอดภัยเหมือนกับรหัสผ่านของผู้ใช้ หรือแม้กระทั่งปลอดภัยกว่าเนื่องจากผู้ใช้ไม่น่าจะต้องเปลี่ยนมันเมื่อเข้าสู่ระบบครั้งแรก
ssh-keygen -f anything
สร้างสองไฟล์ในไดเรกทอรีปัจจุบัน anything.pub
เป็นกุญแจสาธารณะซึ่งคุณสามารถผนวกเข้ากับผู้ใช้~/.ssh/authorized_keys
ในเซิร์ฟเวอร์ปลายทางใดก็ได้
ไฟล์อื่นที่เรียกว่าanything
เป็นกุญแจส่วนตัวและควรเก็บไว้อย่างปลอดภัยสำหรับผู้ใช้ ตำแหน่งเริ่มต้นจะเป็น~username/.ssh/id_rsa
(ชื่อที่นี่id_rsa
ซึ่งเป็นค่าเริ่มต้นสำหรับคีย์ rsa) จำไว้ว่า.ssh
ไดเรกทอรีไม่สามารถอ่านหรือเขียนได้โดยทุกคนยกเว้นผู้ใช้และไดเรกทอรีหลักของผู้ใช้นั้นไม่สามารถเขียนได้โดยผู้ใช้ทุกคนยกเว้นผู้ใช้ ในทำนองเดียวกันการอนุญาตจะต้องเข้มงวดกับไพรเวตคีย์เช่นกัน: การอ่าน / เขียนสำหรับผู้ใช้เท่านั้นและไดเร็กทอรี. ssh และไพรเวตคีย์ไฟล์ต้องเป็นเจ้าของโดยผู้ใช้
ในทางเทคนิคคุณสามารถเก็บกุญแจได้ทุกที่ ด้วยssh -i path/to/privatekey
คุณสามารถระบุตำแหน่งนั้นในขณะที่เชื่อมต่อ อีกครั้งการเป็นเจ้าของและการอนุญาตที่เหมาะสมนั้นสำคัญมากและ ssh จะไม่ทำงานหากคุณไม่มีสิทธิ์
ssh -i
เป็นคีย์ส่วนตัวสำหรับกระบวนการที่ไม่มีสิทธิพิเศษเป็นวิธีที่ฉันจัดการกับกระบวนการสำรองข้อมูล rsync อัตโนมัติมากกว่าสองสามกระบวนการ :)
users
หรือuser's
นอกจากไม่มีข้อมูลของผู้ใช้ในคีย์จุ๊
ฟิลด์สุดท้ายในพับลิกคีย์คือข้อคิดเห็น (และสามารถเปลี่ยนแปลงได้โดยรันคำสั่งต่อไปนี้ssh-keygen -C newcomment
)
ไม่จำเป็นต้องทำอะไรเป็นพิเศษเพื่อสร้างรหัสให้กับผู้ใช้รายอื่นเพียงแค่วางไว้ในตำแหน่งที่ถูกต้องและตั้งค่าการอนุญาต
เป็นผู้ใช้โดยใช้suและเรียกใช้คีย์เป็นผู้ใช้นั้น:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
เป็นผู้ใช้บริการดังนั้นฉันจึงไม่สามารถเข้าสู่ระบบได้ ฉันจะอนุญาตให้ผู้ใช้บริการ (ที่เพิ่งเรียกใช้กระบวนการ) มีคีย์ ssh ได้อย่างไร