Відповіді 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

Зупиніться після кількох невдалих спроб пароля. Повторні здогади створюють блокування, які потім виглядають як другий, не пов'язаний збій, і коштують більше часу, ніж початкова заявка.

Відкат і запис, який ви ведете

Змінюйте по одній речі за раз і записуйте, що змінили, перш ніж тестувати знову. Якщо зміна погіршує спробу, негайно відкотіть її, а не нашаровуйте ще одне виправлення. Повторіть початкову операцію з початкового клієнта й контексту. Успішний вхід з іншої машини, в іншій родині адрес, не є відтворенням і не доводить виправлення.

Очистьте те, чим ділитеся. Докладний вивід клієнта може містити внутрішні назви, позначки облікових записів, шляхи до ключів і ідентифікатори відкритих ключів, тому публікуйте поетапний висновок, а не необроблений слід.

Схожі статті