Hitung sesi SSH?

8

Terkadang saya menemukan pesan berikut di auth.log:

sshd[8888]: error: no more sessions

Di sshd_config saya telah menetapkan "MaxStartups 300", dan saya seharusnya tidak memiliki banyak klien yang terhubung secara bersamaan. Pada waktu sibuk saya kira saya bisa memiliki sekitar 50-60 koneksi bersamaan yang hanya berlangsung selama beberapa detik saat men-download file kecil di atas sftp.

Saya menduga bahwa mungkin oleh beberapa klien tidak menutup koneksi sebagaimana mestinya, dan karena koneksi terjadi berulang-ulang dan cukup sering (setiap klien terhubung beberapa kali per menit), itu bisa bertambah seiring waktu. Untuk memecahkan masalah ini saya ingin dapat menghitung sesi SSH, tapi saya tidak bisa memikirkan cara yang lebih baik daripada menghitung koneksi menggunakan netstat:

netstat -an | grep 123.456.789.abc:22 | wc -l

Karena ini akan menghitung koneksi, bukan sesi dan saya tidak yakin jika ada kasus di mana sesi akan hidup, tetapi koneksi ditutup?

Apakah ada cara yang lebih baik untuk menghitung konektor saat ini, atau bahkan lebih baik mencetak keadaan saat ini dari semua sesi?

Terima kasih sebelumnya!

Avada Kedavra
sumber
Apakah whoada penjelasan tentang situasi ini?
Chris S
Tidak yakin mengapa, tetapi koneksi melalui sftp tampaknya tidak muncul dengan siapa (bahkan tidak siapa -a). Namun harus saya akui, saya sudah lupa siapa :) Ceria!
Avada Kedavra

Jawaban:

6

MaxStartups mengatur jumlah "koneksi tidak terautentikasi bersamaan" ke sshd, bukan sesi seperti itu. (Jika batas dilanggar, itu mulai menjatuhkan koneksi yang lebih tua)

Jika Anda belum memberikan nilai eksplisit untuk MaxSessions, nilai defaultnya adalah 10. (Mungkin itu yang Anda maksud sebenarnya akan Anda tetapkan?)

Anda dapat melihat halaman manual untuk sshd_config lebih detail: http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Saya tidak melihat bahwa sshd sendiri memiliki fasilitas untuk melaporkan statistik dari jenis yang Anda tanyakan (walaupun saya juga tidak banyak melakukan riset.)

Salam, Sapp3r.

sapeurfaire
sumber
Saat ini saya tidak memiliki MaxSessions di konfigurasi, jadi ini mungkin terjadi. Saya akan memeriksanya dan kembali kepada Anda. Sementara itu +1. Bersulang!
Avada Kedavra
Mungkin tidak ada flag MaxSessions untuk OpenSSH 4.7, itu tidak akan memulai layanan jika saya memiliki ini di konfigurasi. OpenSSH 5.3, bagaimanapun, mendukung opsi ini. Sayangnya ini adalah server produksi, dan saya tidak akan merasa nyaman untuk memutakhirkan paket SSH.
Avada Kedavra
Sementara jawabannya tidak benar-benar menjawab pertanyaan, itu mungkin menyelesaikan masalah, jadi saya tidak menerima jawaban ini. Saya sedang memperbarui pengaturan kami, jadi saya tidak yakin apakah ini akan mencegah kesalahan di auth.log, tapi saya harap itu akan terjadi. Cheers '
Avada Kedavra
6

[Aku sadar ini pertanyaan yang sangat lama tapi aku menambahkan ini untuk anak cucu.]

Pesan "tidak ada lagi sesi" berlaku untuk koneksi multipleks, bukan koneksi terpisah.

Tampaknya #definepada waktu kompilasi dengan MAX_SESSIONSuntuk versi sebelum 5.1, ketika pengaturan MaxSessions diperkenalkan: http://www.openssh.com/txt/release-5.1

Pada RHEL5, setidaknya, MAX_SESSIONStampaknya telah meningkat menjadi 20.

Wil Cooley
sumber
akankah tmux membuat koneksi multipleks?
MikeyE