Ping ishlaydi, ammo VPN orqali SSH ishlamaydi: qaysi bosqich buzildi?
Bitta batafsil urinish TCP yetib borishini, SSH tashishini, xost identifikatsiyasini, foydalanuvchi kirishini va seans ruxsatini ajratadi, shunda tunnel haqida taxmin qilishni to'xtatasiz.
Ping javoblari va rad etilgan SSH kirish bir vaqtda to'g'ri bo'lishi mumkin va bu juftlik tunnelni ayblamaydi. Exo javoblari va 22-portga TCP ulanish turli selektorlar, turli siyosatlar va ko'pincha turli manzillarga ega turli sinovlar. Bitta qasddan qilingan SSH urinishini yozib oling, so'ng u yetib kelgan oxirgi bosqichni nomlang. O'sha bitta artefakt o'nlab taxminiy konfiguratsiya o'zgarishlarini almashtiradi.
Bitta urinishni yozib oling, ko'p marta sanchish seansini emas
Mijozni bir marta batafsil diagnostika, ulanish almashish o'chirilgan va cheklangan ulanish vaqti bilan ishga tushiring. Almashishni o'chirish muhim, chunki avval autentifikatsiya qilingan asosiy ulanish aks holda yangi urinish o'rniga javob beradi va siz kuzatayotgan nosozlikni yashiradi.
ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]
Manzilni, manzillar oilasini, vaqt tamg'asini va oxirgi maxfiy bo'lmagan xatoni saqlang. IPv4 bayrog'i shuni ham bildiradi ki, bu urinish xuddi shu nomga IPv6 yo'li haqida hech narsa demaydi, shuning uchun undan umumlashtirmang. Urinish qayerdan qilinganini yozib qo'ying. VPN shlyuzidagi tekshiruv uning orqasidagi noutbuk bilan bir xil qarash emas va bu chiptalardagi qarama-qarshiliklarning aksariyati ikkalasini aralashtirishdan kelib chiqadi.
Birinchi va ikkinchi bosqich: SSH dan oldin TCP
Birinchi chegara — soketning yetib borishi: manzil, port va paket haqiqatan yuradigan yo'l. Agar TCP ulanish hech qachon tugamas bo'lsa, uning ustida hali hech narsa yo'q, xost kalitlari va hisoblar esa ahamiyatsiz.
nc -vz 10.90.4.20 22
ip route get 10.90.4.20
tcpdump -ni any 'host 10.90.4.20 and port 22'
Yozuvni mijoz urinishi bilan bog'lang. Chiqayotgan SYN va hech narsa qaytmasligi filtrlash, selektorlar yoki uzoq tomonda yetishmayotgan yo'lga ishora qiladi; qayta o'rnatish bilan javob tashlab yuborish o'rniga faol rad etuvchi narsaga ishora qiladi. Ikkinchi chegara — SSH protokoli almashinuvining o'zi. Tugab, so'ng qotib qolgan TCP ulanish yetib borishdan o'tib, muzokaralar, server javobi yoki paketlarga ishlov berishga kirgan. Bu boshqa tekshiruv va aynan o'sha yerda o'lchamga oid muammolar birinchi marta ehtimoliy bo'ladi.
Uchinchi bosqich: kimning kaliti javob berdi
Tashish ko'tarilgach, mijoz serverning xost kalitini tekshiradi. Bu yerda rad etish identifikatsiya haqidagi bayonot, kriptografiya haqida emas: hamkor sizning siyosatingiz qabul qilmaydigan kalitni taqdim etdi. Buni to'xtash sharti deb qabul qiling va tarmoqdan tashqarida, konsol yoki xostni qayta qurgan operator orqali tekshiring. Ogohlantirishni tozalash uchun eslab qolingan yozuvni o'chirish — rad etish kerak bo'lgan yagona qisqa yo'l, chunki u kutilmaganda biror narsa javob bergani haqidagi dalilni yo'q qiladi.
Agar xost haqiqatan qayta qurilgan bo'lsa, eski yozuvni faqat yangi barmoq izi tasdiqlangandan keyin o'chiring, sana va sababni qayd eting. Keyingi muhandis ham xuddi shu ogohlantirishga duch keladi va unga bu kontekst kerak bo'ladi.
To'rtinchi va beshinchi bosqich: hisob va ruxsat
Autentifikatsiya to'rtinchi chegaradir. Rad etilgan hisob ma'lumotlari server urinishni baholab, uni rad etganini bildiradi; VPN paroli emas, hisobni, server qabul qiladigan hisob ma'lumoti turini va serverning o'z siyosatini tekshiring. Beshinchi chegara — muvaffaqiyatli kirishdan keyingi avtorizatsiya. Autentifikatsiya qilingan foydalanuvchiga ham qobiq, buyruq, quyi tizim yoki yo'naltirish rad etilishi mumkin va bu radlar faqat mijozning oxirgi qatorini o'qiydigan odamga nosozlikdek ko'rinadi.
| Last stage reached | What it proves | Where to look next |
|---|---|---|
| No TCP connection | No SSH transport exists | Address, port, route, selectors, filter, listener |
| TCP up, exchange incomplete | Reachability is not the blocker | Server response, negotiation, packet handling |
| Host identity rejected | The peer is not the expected host | Independently verified host key |
| User authentication rejected | The attempt reached authentication | Account, credential and server policy |
| Authenticated, session denied | Login succeeded, the operation did not | Shell, command or forwarding permission |
Bir necha muvaffaqiyatsiz parol urinishidan keyin to'xtang. Takroriy taxminlar bloklanishlarni keltirib chiqaradi, ular keyin ikkinchi, bog'liq bo'lmagan nosozlikdek ko'rinadi va dastlabki chiptadan ko'proq vaqt oladi.
Qaytarish va siz saqlaydigan yozuv
Bir vaqtda bitta narsani o'zgartiring va qayta sinashdan oldin nima o'zgartirganingizni yozing. Agar o'zgarish urinishni yomonlashtirsa, ustiga yana bir tuzatish qo'yish o'rniga darhol qaytaring. Asl amalni asl mijoz va kontekstdan takrorlang. Boshqa mashinadan, boshqa manzillar oilasida muvaffaqiyatli kirish takror ishlab chiqarish emas va tuzatishni isbotlamaydi.
Ulashayotgan narsangizni tozalang. Batafsil mijoz chiqishi ichki nomlar, hisob yorliqlari, kalit yo'llari va ochiq kalit identifikatorlarini olib yurishi mumkin, shuning uchun xom iz o'rniga bosqichma-bosqich xulosani e'lon qiling.