Tambahkan pengguna tanpa kata sandi tetapi dengan SSH dan kunci publik

33

Saya ingin menambahkan pengguna ke Red Hat Linux yang tidak akan menggunakan kata sandi untuk masuk, melainkan menggunakan kunci publik untuk ssh. Ini akan berada di baris perintah.

pengguna119776
sumber
useradd --password-disable dan adduser --password disable. Saya telah melihat opsi untuk keduanya dan tidak melihat kata sandi dinonaktifkan sebagai opsi untuk keduanya.
user119776
Apakah Anda tahu cara mengatur login kunci ssh secara umum? Saya pikir akun hanya perlu tidak dikunci, yang akan menyiratkan bahwa ada beberapa kata sandi aktif. Ini bisa berupa kata sandi panjang yang tidak diketahui oleh siapa pun.
Micah Yoder
Saya memiliki kunci dan tahu bahwa saya perlu membuat folder di bawah direktori pengguna dan menempelkan bagian publik di sana. Saya dapat mencoba seperti itu, tetapi berpikir bahwa saya perlu menonaktifkan kata sandi pengguna juga.
user119776
Daripada membuat posting lain yang menunjukkan kepada Anda cara menambahkan pengguna, saya setuju dengan Lambert. Anda perlu fokus secara khusus pada bagian dari tugas yang sedang Anda hadapi ini. Jika Anda tidak tahu cara menambahkan pengguna, Anda harus memulai dari yang kecil dan terus maju. Saya yakin Anda hanya perlu membuat pengguna, jangan mengatur kata sandi apa pun, dan memasukkan kunci mereka di /home/username/.ssh/authorized_keys.
Baazigar

Jawaban:

37

Mulai dengan membuat pengguna:

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

Buat pasangan kunci dari klien yang akan Anda gunakan untuk sshdari:

ssh-keygen -t dsa

Salin kunci publik /home/username/.ssh/id_dsa.pubke host RedHat ke/home/username/.ssh/authorized_keys

Tetapkan izin yang benar pada file di host RedHat:

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

Pastikan otentikasi Kunci Publik diaktifkan pada host RedHat:

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

Jika tidak, ubah arahan itu menjadi ya dan mulai kembali sshdlayanan pada host RedHat.

Dari klien memulai sshkoneksi:

ssh username@redhathost

Seharusnya secara otomatis mencari kunci id_dsamasuk ~/.ssh/. Anda juga dapat menentukan file identitas menggunakan:

ssh -i ~/.ssh/id_dsa username@redhathost
Lambert
sumber
3
Sebenarnya saya tidak lupa tentang kunci kata sandi. Karena saya tidak mengaturnya, kata sandi dari pengguna yang baru dibuat secara otomatis terkunci.
Lambert
3
gunakan RSA alih-alih DSA
sg
Anda menyadari bahwa perintah "ssh-keygen -t dsa" akan membuat kunci untuk pengguna saat ini, itu mungkin mengganti kunci Anda sendiri
yarun dapat
15

Di Ubuntu Anda dapat menambahkan pengguna dengan:

adduser --disabled-password <username>

Kemudian buat .ssh/authorized_keysfile di direktori home mereka dengan kunci publik mereka.

Mitar
sumber
7

Anda bisa menggunakan:

usermod --lock <username>

Dari halaman manual:

Kunci kata sandi pengguna. Ini menempatkan '!' di depan kata sandi terenkripsi, secara efektif menonaktifkan kata sandi. Anda tidak dapat menggunakan opsi ini dengan -p atau -U. Catatan: jika Anda ingin mengunci akun (tidak hanya akses dengan kata sandi), Anda juga harus mengatur EXPIRE_DATE menjadi 1.

Paul Mitchell
sumber