Saya telah menyiapkan .ssh / berwenang_keys dan saya dapat masuk dengan "pengguna" baru menggunakan kunci pub / privat ... Saya juga telah menambahkan "pengguna" ke daftar sudoers ... masalah yang saya miliki sekarang adalah ketika Saya mencoba menjalankan perintah sudo, sesuatu yang sederhana seperti:
$ sudo cd /root
itu akan meminta saya untuk kata sandi saya, yang saya masukkan, tetapi tidak berfungsi (saya menggunakan kata sandi kunci pribadi yang saya tetapkan)
Juga, saya telah menonaktifkan kata sandi pengguna menggunakan
$ passwd -l user
Apa yang saya lewatkan?
Di suatu tempat, pernyataan awal saya disalahpahami ...
Saya mencoba mengeraskan sistem saya ... tujuan utamanya adalah menggunakan kunci pub / pribadi untuk melakukan login versus otentikasi kata sandi sederhana. Saya telah menemukan cara mengatur semua itu melalui file Authorized_key.
Selain itu saya pada akhirnya akan mencegah login server melalui akun root. Tetapi sebelum saya melakukan itu saya perlu sudo bekerja untuk pengguna kedua (pengguna yang saya akan masuk ke sistem dengan semua waktu).
Untuk pengguna kedua ini saya ingin mencegah login kata sandi reguler dan hanya memaksa login kunci priv / pub, jika saya tidak mengunci pengguna melalui "passwd -l user ... maka jika saya tidak menggunakan kunci, saya masih bisa masuk ke server dengan kata sandi biasa.
Tapi yang lebih penting saya perlu membuat sudo bekerja dengan pub / setup kunci pribadi dengan pengguna yang passwordnya dinonaktifkan.
Sunting: Oke, saya pikir saya sudah mendapatkannya (solusinya):
1) Saya telah menyesuaikan / etc / ssh / sshd_config dan mengatur PasswordAuthentication no
Ini akan mencegah login kata sandi ssh (pastikan untuk memiliki pengaturan kunci publik / pribadi yang berfungsi sebelum melakukan ini
2) Saya telah menyesuaikan daftar sudoers visudo
dan menambahkan
root ALL=(ALL) ALL
dimas ALL=(ALL) NOPASSWD: ALL
3) root adalah satu-satunya akun pengguna yang akan memiliki kata sandi, saya menguji dengan dua akun pengguna "dimas" dan "sherry" yang tidak memiliki set kata sandi (kata sandi kosong, passwd -d user
)
Hal di atas pada dasarnya mencegah semua orang masuk ke sistem dengan kata sandi (kunci publik / pribadi harus disiapkan).
Selain itu pengguna dalam daftar sudoers memiliki kemampuan admin. Mereka juga dapat su
ke akun yang berbeda. Jadi pada dasarnya "dimas" dapat sudo su sherry
, namun "dimas TIDAK dapat melakukan su sherry
. Demikian pula setiap pengguna TIDAK dalam daftar sudoers TIDAK dapat melakukan su user
atau sudo su user
.
CATATAN Pekerjaan di atas tetapi dianggap keamanannya buruk. Setiap skrip yang dapat mengakses kode sebagai pengguna "dimas" atau "sherry" akan dapat menjalankan sudo untuk mendapatkan akses root. Bug di ssh yang memungkinkan pengguna jarak jauh untuk masuk meskipun ada pengaturan, eksekusi kode jarak jauh dalam sesuatu seperti Firefox, atau kesalahan lain yang memungkinkan kode yang tidak diinginkan dijalankan karena pengguna sekarang dapat dapat berjalan sebagai root. Sudo harus selalu memerlukan kata sandi atau Anda juga dapat login sebagai root alih-alih beberapa pengguna lain.