Підключення SSH через HTTP-проксі
Проведіть SSH-з'єднання через наявний HTTP CONNECT-проксі з ProxyCommand для кожного хоста.
Сумісним з OpenBSD nc додайте цей запис хоста до конфігурації клієнта SSH, наприклад ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pДля цього маршруту використовуйте ssh work-through-proxy. Помічник запитує в HTTP-проксі CONNECT до ssh.example.com і передає прийнятий потік SSH. Якщо спрямувати SSH прямо на порт проксі, його рукостискання піде до служби, що очікує HTTP.
Замініть кінцеву точку, призначення та обліковий запис. Для публічно доступного SSH-призначення, де дозволений публічний посередник, список HTTP-проксі пропонує кандидатів для перевірки доступу до цього хоста й порту; виберіть кінцеву точку, якій не потрібен обліковий запис проксі для показаної команди. Ці параметри OpenBSD nc залежать від реалізації; інший виконуваний файл із назвою nc може їх не підтримувати.
Проксі може вимагати власний вхід або відхилити запитаний порт SSH. Помилка 407 стосується саме цього обміну з проксі. Після відкриття тунелю SSH усе ще перевіряє цільовий хост і автентифікує користувача; відхилений ключ SSH — інша помилка.
Тримайте ProxyCommand у потрібному розділі Host і за потреби використовуйте підтримуваний вибраним помічником шлях автентифікації через проксі. Команда дає потік, а не дозвіл через посередника. Якщо дозволені лише HTTPS-призначення, отримайте схвалене налаштування доступу SSH, а не припускайте, що інше написання команди змінить політику.