Pengguna mana yang diizinkan masuk melalui SSH secara default?

18
  1. Ketika saya mengatur Debian 6 saya, saya bertanya-tanya, pengguna mana yang terpisah dari root yang kata sandinya saya tahu dapat masuk ke sistem saya melalui SSH?

  2. Ketika saya menginstal Apache 2 seorang pengguna bernama www-data akan dibuat. Apakah pengguna ini memiliki hak untuk masuk ke sistem saya melalui SSH? Tetapi jika ada beberapa kata sandi default untuk www-data yang semua orang bisa login, sepertinya tidak bagi saya.

  3. Di mana saya memiliki daftar di mana pengguna diizinkan masuk ke sistem saya melalui SSH? Tidak dapat menemukan apa pun di file konfigurasi ssh.

JohnnyFromBF
sumber

Jawaban:

20

Paradeepchhetri tidak sepenuhnya benar.

Debian yang belum dimodifikasi sshd_configmemiliki yang berikut:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Dengan demikian, masuk melalui ssh hanya akan berfungsi untuk pengguna yang memiliki bidang kata sandi terisi di /etc/shadowatau kunci ssh ~/.ssh/authorized_keys. Perhatikan bahwa nilai default untuk PubkeyAuthenticationadalah yesdan untuk PermitEmptyPasswordsadalah no, jadi meskipun Anda menghapusnya, perilaku akan tetap sama.

Dalam contoh pertanyaan, www-datasecara default tidak akan diizinkan masuk karena penginstal Debian tidak memberikan kata sandi atau membuat kunci untuk www-data.

pam_access, AllowUsersDan AllowGroupsdi sshd_configdapat digunakan untuk kontrol yang lebih baik jika yang dibutuhkan. Di Debian sangat dianjurkan UsePAM.

bahamat
sumber
10

Secara default, login diizinkan untuk semua pengguna di Debian.

Anda dapat mengubahnya dengan mengizinkan pengguna tertentu yang dapat masuk dengan mengedit /etc/ssh/sshd_configfile.

Seperti yang disebutkan di halaman manual sshd_config.

AllowUsers

Kata kunci ini dapat diikuti oleh daftar pola nama pengguna, dipisahkan oleh
spasi. Jika ditentukan, login hanya diperbolehkan untuk nama pengguna yang cocok dengan salah satu pola. Hanya nama pengguna yang valid; ID pengguna numerik tidak
dikenali. Secara default, login diizinkan untuk semua pengguna. Jika polanya mengambil formulir USER@HOSTlalu USERdan HOSTsecara terpisah diperiksa, membatasi login untuk pengguna tertentu dari host tertentu. The memungkinkan / menolak arahan diproses dalam urutan sebagai berikut: DenyUsers, AllowUsers, DenyGroup, dan akhirnya AllowGroups.

pradeepchhetri
sumber
Saya menambahkan "pada Debian" jika seseorang datang dan membaca judul dan jawaban pertanyaan tanpa membaca pertanyaan itu sendiri. Jawaban umum untuk judul pertanyaan adalah, "itu tergantung pada isi sshd_configfile yang dikirimkan ." Beberapa OS dikirimkan dengan login root melalui SSH yang dilarang, misalnya.
Warren Muda
Terima kasih, tapi jelas secara default hanya root yang bisa masuk karena dia satu-satunya dengan kata sandi di / etc / shadow.
JohnnyFromBF
7

Secara default, SSH serverbahkan tidak diinstal. Anda harus menginstal openssh-serverpaket sebelum siapa pun bisa masuk SSH.

Setelah itu, setiap pengguna harus melewati dua pemeriksaan:

  • Otentikasi SSH
  • Cek akun PAM

Otentikasi SSH berarti bahwa pengguna harus memiliki kata sandi yang valid di /etc/shadow atau memiliki kunci publik SSH yang valid dengan izin yang tepat di pengguna target ~/.ssh/authorized_keys.

Password yang valid dijelaskan lebih lanjut dalam crypt(3)halaman manual, tetapi pada dasarnya jika lapangan pengguna 2 di /etc/shadowsesuatu dimulai dengan $NUMBER$, itu mungkin valid, dan jika itu *atau !, itu tidak valid.

Pemeriksaan akun PAM pada dasarnya berarti bahwa akun tersebut tidak kedaluwarsa. Anda dapat memeriksa menggunakan itu chage -l USERNAME.

Jadi untuk menjawab pertanyaan Anda, setahu saya:

  1. Hanya root dan akun yang Anda buat selama wisaya instalasi yang dapat masuk pada sistem baru
  2. Tidak, karena www-datamemiliki kata sandi hash *dan tidak ada~www-data/.ssh/authorized_keys file
  3. Tidak ada daftar tunggal, karena ada beberapa persyaratan, tetapi untuk mendapatkan ide, Anda dapat mencoba menjalankannya grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
sumber
1
Hati-hati, kata sandi kosong adalah kata sandi yang valid, tetapi seperti yang ditunjukkan bahamat , konfigurasi SSH default (dan konfigurasi Debian default) melarang login SSH untuk akun kata sandi kosong.
Totor