Saya suka gagasan mengakses server melalui kunci, sehingga saya tidak perlu mengetikkan kata sandi setiap kali ssh
masuk ke dalam kotak, saya bahkan mengunci root
kata sandi pengguna (bukan ) ( passwd -l username
) sehingga tidak mungkin untuk masuk tanpa kunci.
Tetapi semua ini rusak jika saya diminta untuk memasukkan kata sandi untuk sudo
perintah. Jadi saya tergoda untuk mengatur kata sandisudo
untuk membuat hal-hal sejalan dengan login tanpa kata sandi.
Namun, saya tetap punya firasat bahwa itu mungkin menjadi bumerang bagi saya dengan cara yang tidak terduga, sepertinya tidak aman. Apakah ada peringatan dengan pengaturan seperti itu? Apakah Anda merekomendasikan / tidak merekomendasikan melakukan ini untuk akun pengguna di server?
Klarifikasi
- Saya berbicara tentang
sudo
penggunaan sesi pengguna interaktif di sini, bukan untuk skrip layanan atau administrasi - Saya berbicara tentang menggunakan server cloud (jadi saya tidak punya akses fisik lokal ke mesin dan hanya bisa masuk dari jarak jauh)
- Saya tahu bahwa
sudo
ada batas waktu di mana saya tidak perlu memasukkan kembali kata sandi saya. Tetapi konser saya bukan tentang membuang waktu ekstra untuk mengetikkan kata sandi secara fisik. Ide saya adalah untuk tidak harus berurusan dengan kata sandi sama sekali, karena saya berasumsi bahwa:- Jika saya harus menghafalnya sama sekali, sangat mungkin terlalu pendek untuk aman atau digunakan kembali
- Jika saya membuat kata sandi yang panjang dan unik untuk akun jarak jauh saya, saya harus menyimpannya di suatu tempat (program pengelola kata sandi lokal atau layanan cloud) dan mengambilnya setiap kali saya ingin menggunakannya
sudo
. Saya berharap bisa menghindarinya.
Jadi dengan pertanyaan ini saya ingin lebih memahami risiko, peringatan dan pengorbanan dari satu konfigurasi yang mungkin atas yang lain.
Tindak lanjut 1
Semua jawaban mengatakan bahwa tanpa kata sandi sudo
tidak aman karena memungkinkan peningkatan hak "mudah" jika akun pengguna pribadi saya dikompromikan. Aku mengerti itu. Tetapi di sisi lain, jika saya menggunakan kata sandi, kami menanggung semua risiko klasik dengan kata sandi (string terlalu pendek atau umum, diulang di berbagai layanan, dll.). Tapi saya kira jika saya menonaktifkan otentikasi kata sandi /etc/ssh/sshd_config
sehingga Anda masih harus memiliki kunci untuk masuk, saya dapat menggunakan kata sandi yang lebih sederhana hanya untuk sudo
yang lebih mudah untuk mengetik? Apakah itu strategi yang valid?
Tindak lanjut 2
Jika saya juga memiliki kunci untuk masuk sebagai root
melalui ssh, jika seseorang mendapatkan akses ke komputer saya dan mencuri kunci saya (mereka masih dilindungi oleh kata sandi keyring OS!), Mereka mungkin juga mendapatkan akses langsung ke root
akun , melewati sudo
jalan. Apa yang seharusnya menjadi kebijakan untuk mengakses root
akun itu?
/etc/passwd
seperti nologin, setel tanpa kata sandi, lalu setel tanpa kata sandi dalam visudo. Jika Anda melakukan ini, Anda juga harus memastikan pengaturan visudo hanya untuk apa yang benar-benar dibutuhkan akun sistem, yaitu menguncinya ke satu-satunya perintah yang harus dijalankan.