Одговорите на ping и одбиената SSH најава можат истовремено да бидат точни, и парот не го обвинува тунелот. Ехо одговорите и TCP врската до портата 22 се различни тестови со различни селектори, различни политики и често различни одредишта. Забележете еден намерен SSH обид, потоа именувајте го последниот чекор што го достигна. Тој единствен артефакт заменува десетина шпекулативни промени во конфигурацијата.

Забележете еден обид, а не сесија со чепкање

Стартувајте го клиентот еднаш со детална дијагностика, оневозможено споделување на врската и ограничено време за поврзување. Оневозможувањето на споделувањето е важно, бидејќи претходно автентифицирана главна врска инаку ќе одговори за новиот обид и ќе го скрие дефектот што го следите.

ssh -4 -vv -o ControlPath=none -o ConnectTimeout=10 [email protected]

Задржете го одредиштето, семејството адреси, временската ознака и последната недоверлива грешка. Знамето IPv4 исто така значи дека овој обид не кажува ништо за патеката IPv6 кон истото име, затоа не генерализирајте од него. Забележете од каде е направен обидот. Проверката на VPN портата не е истата гледна точка како лаптопот зад неа, и повеќето противречности во овие тикети доаѓаат од мешање на двете.

Прв и втор чекор: TCP пред SSH

Првата граница е достапноста на сокетот: адреса, порта и рута што пакетот навистина ја следи. Ако TCP врската никогаш не се заврши, над неа уште не постои ништо, а клучевите на домаќинот и сметките се неважни.

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'

Поврзете го записот со клиентскиот обид. SYN што излегува и ништо што не се враќа упатува на филтрирање, селектори или рута што недостасува на далечната страна; одговор со ресетирање упатува на нешто што активно одбива наместо да отфрла. Втората граница е самата размена на SSH протоколот. TCP врска што се завршува и потоа заглавува ја поминала достапноста и влегла во преговори, одговор на серверот или обработка на пакети. Тоа е друга истрага, и токму таму проблемите поврзани со големината првпат стануваат веродостојни.

Трет чекор: чиј клуч одговори

Кога транспортот е подигнат, клиентот го проверува клучот на домаќинот на серверот. Одбивањето овде е изјава за идентитетот, не за криптографијата: партнерот претстави клуч што вашата политика не го прифаќа. Третирајте го тоа како услов за запирање и проверете надвор од опсегот, преку конзолата или операторот што го изградил домаќинот повторно. Бришењето на запаметениот запис за да се исчисти предупредувањето е единствениот кратен пат што треба да се одбие, бидејќи го уништува доказот дека нешто одговорило неочекувано.

Ако домаќинот навистина бил повторно изграден, отстранете го стариот запис само откако новиот отпечаток ќе биде потврден, и забележете датум и причина. Следниот инженер ќе го сретне истото предупредување и му треба тој контекст.

Четврт и петти чекор: сметка наспроти дозвола

Автентикацијата е четвртата граница. Одбиените акредитиви значат дека серверот го оценил обидот и го одбил; проверете ја сметката, типот на акредитиви што серверот ги прифаќа и сопствената политика на серверот, а не лозинката за VPN. Петтата граница е авторизацијата по успешна најава. На автентифициран корисник и понатаму може да му се одбие школка, команда, потсистем или проследување, и тие одбивања изгледаат како дефекти за некој што ја чита само последната линија на клиентот.

Last stage reachedWhat it provesWhere to look next
No TCP connectionNo SSH transport existsAddress, port, route, selectors, filter, listener
TCP up, exchange incompleteReachability is not the blockerServer response, negotiation, packet handling
Host identity rejectedThe peer is not the expected hostIndependently verified host key
User authentication rejectedThe attempt reached authenticationAccount, credential and server policy
Authenticated, session deniedLogin succeeded, the operation did notShell, command or forwarding permission

Запрете по неколку неуспешни обиди со лозинка. Повторените погодувања создаваат заклучувања што потоа изгледаат како втор, неповрзан дефект и чинат повеќе време од првичниот тикет.

Враќање назад и записот што го чувате

Менувајте едно по едно и запишете што сте смениле пред повторно да тестирате. Ако промената го влоши обидот, веднаш вратете ја наместо да натрупувате уште една поправка. Повторете ја првичната операција од првичниот клиент и контекст. Успешна најава од друга машина, во друго семејство адреси, не е репродукција и не го докажува решението.

Исчистете го тоа што го споделувате. Деталниот излез од клиентот може да носи внатрешни имиња, ознаки на сметки, патеки до клучеви и идентификатори на јавни клучеви, затоа објавете го етапниот заклучок наместо сурова трага.

Поврзани статии