เพิ่มผู้ใช้ที่ไม่มีรหัสผ่าน แต่ใช้กับ SSH และกุญแจสาธารณะ


33

ฉันต้องการเพิ่มผู้ใช้ใน Red Hat Linux ที่จะไม่ใช้รหัสผ่านสำหรับการเข้าสู่ระบบ แต่ใช้รหัสสาธารณะสำหรับ ssh แทน นี่จะเป็นบรรทัดคำสั่ง


useradd - รหัสผ่านปิดการใช้งานและ adduser - รหัสผ่านปิดการใช้งาน ฉันได้ดูตัวเลือกสำหรับทั้งคู่และไม่เห็นการปิดใช้งานรหัสผ่านเป็นตัวเลือกสำหรับทั้งคู่
user119776

คุณรู้วิธีตั้งค่าการเข้าสู่ระบบคีย์ ssh โดยทั่วไปหรือไม่? ฉันคิดว่าบัญชีจะต้องไม่ถูกล็อคซึ่งจะบอกเป็นนัยว่ามีการใช้รหัสผ่านบางส่วน มันอาจเป็นรหัสผ่านที่ยาวซึ่งไม่มีใครรู้จริง
คาห์ Yoder

ฉันมีรหัสและรู้ว่าฉันต้องสร้างโฟลเดอร์ภายใต้ไดเรกทอรีของผู้ใช้และวางส่วนสาธารณะที่นั่น ฉันสามารถลองวิธีนี้ได้ แต่คิดว่าฉันต้องปิดการใช้งานรหัสผ่านของผู้ใช้ด้วย
user119776

แทนที่จะสร้างโพสต์อื่นที่แสดงวิธีเพิ่มผู้ใช้ฉันเห็นด้วยกับ Lambert คุณต้องมุ่งเน้นเฉพาะในส่วนของงานนี้ที่คุณมีปัญหา หากคุณไม่ทราบวิธีเพิ่มผู้ใช้คุณควรเริ่มต้นเล็ก ๆ และหาทางแก้ไข ฉันเชื่อว่าคุณต้องสร้างผู้ใช้ไม่ต้องตั้งรหัสผ่านและใส่รหัสใน /home/username/.ssh/authorized_keys
Baazigar

คำตอบ:


37

เริ่มต้นด้วยการสร้างผู้ใช้:

useradd -m -d /home/username -s /bin/bash username

สร้างคู่กุญแจจากลูกค้าที่คุณจะใช้sshจาก:

ssh-keygen -t dsa

คัดลอกกุญแจสาธารณะ/home/username/.ssh/id_dsa.pubไปยังโฮสต์ RedHat/home/username/.ssh/authorized_keys

ตั้งค่าการอนุญาตที่ถูกต้องในไฟล์บนโฮสต์ RedHat:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

ตรวจสอบให้แน่ใจว่าเปิดใช้งานการรับรองความถูกต้องของรหัสสาธารณะบนโฮสต์ RedHat:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

หากไม่ใช่ให้เปลี่ยนคำสั่งนั้นเป็นใช่และรีสตาร์ทsshdเซอร์วิสบนโฮสต์ RedHat

จากไคลเอนต์เริ่มการsshเชื่อมต่อ:

ssh username@redhathost

ควรมีลักษณะโดยอัตโนมัติสำหรับคีย์ในid_dsa ~/.ssh/คุณยังสามารถระบุไฟล์ระบุตัวตนโดยใช้:

ssh -i ~/.ssh/id_dsa username@redhathost

3
จริงๆแล้วฉันไม่ลืมเกี่ยวกับการล็อครหัสผ่าน เนื่องจากฉันไม่ได้ตั้งรหัสผ่านของผู้ใช้ที่เพิ่งสร้างใหม่จะถูกล็อคโดยอัตโนมัติ
Lambert

3
ใช้ RSA แทน DSA
sg

คุณตระหนักถึงคำสั่ง "ssh-keygen -t dsa" จะสร้างคีย์สำหรับผู้ใช้ปัจจุบันมันอาจแทนที่คีย์ของคุณเอง
yarun สามารถ

15

บน Ubuntu คุณสามารถเพิ่มผู้ใช้ด้วย:

adduser --disabled-password <username>

จากนั้นสร้าง.ssh/authorized_keysไฟล์ในโฮมไดเรกทอรีของพวกเขาด้วยกุญแจสาธารณะของพวกเขา


7

คุณสามารถใช้:

usermod --lock <username>

จากหน้าคน:

ล็อครหัสผ่านของผู้ใช้ สิ่งนี้ทำให้ '!' หน้ารหัสผ่านที่เข้ารหัสไว้ปิดใช้งานรหัสผ่านอย่างมีประสิทธิภาพ คุณไม่สามารถใช้ตัวเลือกนี้กับ -p หรือ -U หมายเหตุ: หากคุณต้องการล็อคบัญชี (ไม่เพียง แต่เข้าถึงด้วยรหัสผ่าน) คุณควรตั้งค่า EXPIRE_DATE เป็น 1

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