Pertanyaan Apa artinya 'tanpa kata sandi' dalam file sshd_config?


Saya baru saja menginstal Ubuntu 14.04 di server saya dan saya sedang mengatur semua file konfigurasi saya ketika saya menemukan ini di komputer saya sshd_config mengajukan:

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

Ini membuat saya sangat khawatir. Saya berpikir bahwa ada kemungkinan seseorang dapat masuk ke server saya sebagai root tanpa kata sandi.

Saya mencoba menghubungkan ke server saya sebagai root via:

johns-mbp:~ john$ ssh root@192.168.1.48
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
root@192.168.1.48's password:  

Saya memasukkan kata sandi kosong dan itu tidak membiarkan saya masuk, itu melegakan. Jadi pertanyaan saya adalah: apa artinya tanpa kata sandi dan mengapa ini merupakan default di Ubuntu 14.04?


106
2018-04-18 01:12


asal




Jawaban:


Dari manpage:

PermitRootLogin

Menentukan apakah root dapat masuk menggunakan ssh(1). Argumen   harus "ya", "tanpa kata sandi", "perintah-paksa saja", atau   "tidak". Standarnya adalah "ya".

Jika opsi ini diatur ke "tanpa kata sandi", kata sandi   Otentikasi dinonaktifkan untuk root.

Jika opsi ini diatur ke "paksa-perintah-saja", login root dengan   otentikasi kunci publik akan diizinkan, tetapi hanya jika    command opsi telah ditentukan (yang mungkin berguna untuk mengambil   backup jauh bahkan jika login root biasanya tidak diizinkan). Semua   metode otentikasi lainnya dinonaktifkan untuk root.

Jika opsi ini disetel ke "tidak", root tidak diizinkan masuk.

Demikian without-password memungkinkan login root hanya dengan autentikasi kunci publik. Ini sering digunakan dengan skrip shell dan tugas-tugas otomatis.


127
2018-04-18 01:26



Tidak mengizinkan 'Login root' menggunakan kata sandi dianggap keamanan yang lebih kuat daripada membiarkannya. Yang mengatakan, Anda seharusnya tidak masuk ke akar sama sekali, kecuali tidak ada metode lain (sudo, dll.) yang akan berfungsi. - david6
Seperti yang Anda lihat, meskipun halaman manual menunjukkan default adalah "ya", Ubuntu telah membuat default "tanpa kata sandi". - ferrouswheel
Begitu without-password berarti semua metode diperbolehkan kecuali kata sandi? Ini benar-benar terdengar seperti "diizinkan untuk masuk tanpa perlu kata sandi". - Gauthier
"Semua akses root harus difasilitasi melalui logon lokal dengan ID pengguna yang unik dan dapat diidentifikasi dan kemudian melalui perintah su setelah diautentikasi secara lokal. Login root langsung sangat tidak aman dan menawarkan sedikit cara audit mengikuti akuntabilitas." - Panduan AIX IBM AIX - Dominik Antal
PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'. - endolith


Sebenarnya pengaturan ini tidak cukup banyak jika Anda menggunakan otentikasi PAM. Di bagian bawah sshd_config file konfigurasi yang akan Anda temukan:

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

Pengaturan default pada Ubuntu adalah menggunakan otentikasi PAM:

UsePAM yes

15
2017-11-15 17:34



Dalam pengalaman singkat saya, bahkan pengaturan ini no tidak akan berhasil PermitRootLogin without-password sebenarnya berhasil, entah bagaimana! :( - cregox
@cregox jika Anda menggunakan sistem desktop biasa, yang perlu Anda lakukan ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip dan itu menciptakan ~/.ssh/authorized_keys perlu diingat jika Anda tidak dapat masuk sebagai root, Anda tidak akan membuat file ini di /root/.ssh/ tetapi berfungsi jika Anda menyalin file di sana - Rutrus


Perhatikan bahwa ada alasan yang sah untuk masuk melalui root (tetapi menggunakan kunci kriptografi dan tak pernah kata sandi). Contoh yang khas adalah sinkronisasi dua server secara remote (untuk menjadikan salah satu dari mereka digunakan sebagai fail-over). Karena strukturnya harus identik, sering diperlukan kata sandi root.

Berikut ini contoh menggunakan serempak untuk sinkronisasi: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison


3
2018-01-17 20:26



Tidak akan masuk dengan pengguna biasa (menggunakan kunci kriptografi kemungkinan besar) dan memilikinya milik sudo grup memungkinkan Anda melakukan ini juga? - NS du Toit


Dalam versi yang lebih baru dari sshd "tanpa-kata sandi" telah diubah menjadi "prohibit-password".

Kedua versi berfungsi, mungkin yang terbaik adalah menggunakan "larang-kata sandi" jika Anda dapat: itu menjelaskan dirinya sendiri dengan lebih baik.


0
2018-03-22 23:12