Har bir abonentga bitta qurilma va'da qiladigan tunnel xizmatlari bu va'dani MaxSessions'dan kamdan-kam oladi va birinchi test buni odatda isbotlaydi. Abonent ikkinchi ssh jarayonini ochadi, birinchi sessiya ishlashda davom etadi va ikkala tunnel ham trafikni tashiydi. Har bir konfiguratsiya opsiyasi boshqa narsani sanaydi va ularning hech biri qurilmalarni sanamaydi. Va'dani birinchi bo'lib nomlash ular orasidagi tanlovni ravshan qiladi.

Har bir opsiya aslida nimani sanaydi

MaxSessions bitta autentifikatsiyadan o'tgan tarmoq ulanishi tashiydigan ochiq sessiyalar sonini cheklaydi. Bu yerda sessiya shell, exec so'rovi, SFTP kabi quyi tizim yoki bitta SSH transporti ichida multiplekslangan shunga o'xshash kanalni bildiradi. Ikkinchi ssh chaqiruvi ikkinchi transport ochadi, qayta autentifikatsiyadan o'tadi va o'z ruxsatini oladi. Birinchi ulanishning sessiyalar soni unga ahamiyatsiz.

MaxStartups hali autentifikatsiyadan o'tmagan bir vaqtning ulanishlarini boshlang'ich chegara, stavka va to'liq chegara sifatida cheklaydi. U yarim ochiq qo'l siqishlar portlashi demonning autentifikatsiyagacha bo'lgan resurslarini tugata olmasligi uchun mavjud. Mijoz autentifikatsiyadan o'tgach, bu ulanish MaxStartups'ga qarshi sanalishni to'xtatadi va birovning sessiyasiga aylanadi. U hech qachon foydalanuvchi boshiga kvota bo'lmagan va uni oshirish abonentga ko'proq ish qilishga imkon bermaydi.

Qurilmani ro'yxatga olish qoidasi umuman sshd opsiyasi emas. U hisob ma'lumotlarini chiqaradigan va qaysi qurilma ularni saqlashini kuzatadigan har qanday tizimga tegishli, ya'ni sanagich o'rniga ro'yxatga olish, inventar va bekor qilish kerak. Bu talabni sshd konfiguratsiyasiga aralashtirish bu dizaynlarning ko'pchiligi tiqilib qoladigan joydir.

MaxSessions qayerda kvota bo'lishdan qoladi

Match User bloki qaysi konfiguratsiya qiymatlari o'sha foydalanuvchiga tegishli ekanini o'zgartiradi, shuning uchun xizmat hisobi uchun qattiqroq MaxSessions belgilashning tabiiy joyi shu. U qila olmaydigan narsa ulanishlar bo'ylab jamlashdir, chunki opsiya har bir transport bo'yicha baholanadi. Ikki transport har biri o'z chegarasini oladi va foydalanuvchi oxir-oqibat blok ruxsat berganidan ikki barobar ko'p narsaga ega bo'ladi.

Yo'naltirish alohida kutilmagan hodisa. TCP yo'naltirish sessiya kanalini talab qilmaydi, shuning uchun MaxSessions 0 shell va quyi tizimlarni taqiqlab, -L va -R tunnellariga ruxsat berishda davom etishi mumkin. Faqat yo'naltiruvchi va sessiyalar sonini o'z tunnel kvotasi deb hisoblovchi xizmat hech narsani o'lchamaydi. Bu xatti-harakat OpenSSH serveri konfiguratsiyasi ma'lumotnomasida hujjatlashtirilgan va opsiya nomi atrofida loyihalashdan oldin uni o'qishga arziydi.

Yuklangan deb o'ylagan faylingiz o'rniga amaldagi konfiguratsiyani chiqaring. Qo'shishlar va drop-in papkalari ko'pincha amaldagi qiymat siz tahrirlagan qiymat emasligini bildiradi.

MaxStartups abonentni emas, demonni himoya qiladi

MaxStartups'ning uch qismli shakli demon yangi ulanishlarning ma'lum foizini tashlashni boshlashidan oldin qancha autentifikatsiyadan o'tmagan ulanish bo'lishi mumkinligini tavsiflaydi. Uning standart shakli autentifikatsiyadan o'tmagan SSH ulanishini ochish arzon va saqlash qimmat bo'lgani uchun mavjud. Bu server uchun resurslarni himoya qilish nazorati va u bir vaqtning o'zida barchaga tegishli.

Kirish bo'roni paytida uni oshirish demon himoyasini kirish bilan almashtiradi, bu ba'zan to'g'ri almashinuv va har doim ataylab qilingan. Ikkinchi tunnel xohlaydigan abonent uchun u hech narsa qilmaydi, chunki birinchi tunnel allaqachon autentifikatsiyadan o'tgan. Ikkalasini aralashtirish noto'g'ri alomatni tuzatadigan va shu bilan birga serverni zaiflashtiradigan o'zgarishga olib keladi.

Kirishlar to'da-to'da rad etilganda, ikkala opsiyaga ham tegishdan oldin demon jurnalida autentifikatsiyadan oldingi xabarni ko'ring. Xabar qaysi qo'riqchi ishga tushganini nomlaydi va qo'riqchilar bir-biriga almashtirilmaydi.

Foydalanuvchi boshiga uyacha umumiy holatni talab qiladi

Haqiqiy bitta faol transport siyosati sshd'dan tashqarida bir joyda saqlanadigan rezervatsiyani talab qiladi. Kirish bosqichi hisobning uyachasini atomik tarzda egallashi, ulanish yopilganda uni bo'shatishi, mijoz yopmasdan yo'qolsa muddatini tugatishi va yangi urinish rad etiladimi yoki eskisini almashtiradimi, hal qilishi kerak. Bu oxirgi qaror mahsulot qarori, texnik tafsilot emas, chunki faol tunnelni almashtirish birovning aloqasini uzadi.

Rezervatsiyani hisobni qabul qiladigan har bir server ham bo'lishishi kerak. Mustaqil mahalliy sanagichlarga ega ikki host ikki alohida chegarani qo'llaydi va boshqa shlyuz orqali qayta ulanadigan abonent bepul ikkinchi uyacha oladi. Holatni saqlaydigan har qanday narsa o'z nosozlik xatti-harakatiga muhtoj, chunki yetib bo'lmaydigan ombor barcha abonentlarni qulflab qo'ymasligi kerak.

Bitta qurilma va'dasi uchun har bir ro'yxatga olingan qurilmaga alohida hisob ma'lumotlarini chiqaring va o'sha qatlamda ro'yxatga olish va bekor qilishni boshqaring. Nusxalangan maxfiy kalit hali ham istalgan joydan autentifikatsiyadan o'tadi, shuning uchun foydalanuvchi boshiga bitta kalit chiqarish uni qancha mashina saqlashiga dalil emas.

Siyosatni ikkita haqiqiy ulanish bilan tekshiring

Siyosatni yozishdan oldin qabul testlarini buyruq sifatida yozing. Besh holat: birinchisi faol bo'lganda ochiladigan ikkinchi transport, bitta transport ichida bir nechta kanal, faqat portlarni yo'naltiruvchi mijoz, aloqa uzilgandan keyin qayta ulanish va o'sha hisobning boshqa shlyuzga kelishi.

Avval amaldagi chegaralarni o'qing, keyin siyosat rad etishi kerak bo'lgan ulanishlarni oching. Bu testning ikkala yarmi ham muhim va hech biri ikkinchisining o'rnini bosmaydi.

sshd -T | grep -iE "maxsessions|maxstartups|allowtcpforwarding|permitopen"
ss -tn state established '( sport = :22 )' | head
ssh -N -L 8080:127.0.0.1:80 [email protected]

Tunnel buyrug'ini ikki terminalda ikki marta ishga tushiring va 22-portda o'rnatilgan ulanishlarni sanang. Agar sizning siyosatingiz bitta faol transport deb da'vo qilayotganda ikkalasi ham trafik tashisa, siyosat ijro emas, hujjat. Bu bo'shliqni kirish qatlamida tuzating, MaxSessions'ni pasaytirib, ikkinchi transport buni payqaydi deb umid qilish bilan emas.

O'xshash maqolalar