Прокси
Свой сервер как выход
- SOCKS5 на петле
- Что получает браузер
- Никогда
- Пароль в командной строке
- 20 секунд
- Ожидание подъёма туннеля
- 3
- Попыток на том же порту
Что работает рядом с браузером
Про SSH браузеру знать ничего не нужно. Рядом с профилем работает обычный ssh с динамической переадресацией, и он открывает настоящий вход SOCKS5 на петле.
Для движка это обычный местный адрес, поэтому профиль запускается как любой другой и ничто не понижается у вас за спиной.
Сама запись лежит в той же библиотеке, что и остальные адреса: вы вписываете её одной строкой и вставляете пачкой вместе с прочими.
- Что вы вписываете в библиотеку
- ssh://user@srv.example:22
- Что получает движок
- socks5 на 127.0.0.1, порт берётся при запуске
Свободный порт на петле профиль занимает при открытии и держит до закрытия. Второй запуск уже открытого профиля берёт тот же туннель, а не вырывает порт из-под живого окна.
Два способа войти
Файл ключа работает на любой системе. Вы указываете путь, а читает ключ сам ssh: закрытый ключ ARMANOS не открывает.
Пароль от сервера работает на macOS и Linux, и там же работает ключ со своим собственным паролем.
| Способ входа | macOS и Linux | Windows |
|---|---|---|
| Ключ без пароля | Работает | Работает |
| Ключ со своим паролем | Работает | Отказ с причиной |
| Пароль от сервера | Работает | Отказ с причиной |
Почему в Windows нужен ключ, а не пароль
Куда уходит пароль от сервера
Командную строку чужого процесса читает любая программа под тем же человеком, поэтому ваш пароль туда не попадает. Спрашивает его сам ssh, а ваш ответ идёт к нему по каналу в папке, открытой только вам.
Ваш пароль на диске не оказывается вовсе и пропадает сразу, как только туннель встал.
Путь к файлу ключа остаётся на этой машине
Личная настройка ssh не вмешивается
Ваша личная настройка ssh при подъёме туннеля выключена. Записанный в ней промежуточный узел или подмена имени увели бы профиль совсем не туда, куда вы его отправили, и вы бы об этом не узнали.
Известные серверы программа помнит в своём файле, потому что файл, которым вы входите на работу, править не наше дело.
Ваша настройка
Профиль её не читает вовсе, и записанное в ней его никуда не уведёт.
Ваши известные узлы
Программа в них не пишет: у туннеля свой список серверов.
Ваши прочие ключи
В ход они не идут: указали файл ключа, пойдёт только он, не указали, только пароль.
Сменившийся ключ сервера останавливает запуск
Когда туннель обрывается
Оборванный туннель не остаётся выглядеть живым. Вход на петле принадлежит туннелю и умирает вместе с ним, поэтому каждый запрос из того окна получает отказ.
Как туннель поднимается снова
Дальше программа поднимает туннель заново на том же порту: ваше уже открытое окно про новый порт не узнало бы.
Бесконечные попытки жгли бы предел подключений у вашего сервера и прятали беду, поэтому про третью неудачу вам говорят вслух.
- 1
Связь под присмотром
Каждые 15 секунд, поэтому оборванный туннель виден меньше чем за минуту.
- 2
Три попытки подряд
Три раза на том же порту, с растущей паузой между ними.
- 3
Вам говорят
Одна строка сообщает о возвращённом туннеле, другая о неудаче.
Проверка до запуска
Кнопка проверки поднимает настоящий туннель, меряет через него и снимает его, как только проверка закончена. Поэтому прошедшая проверка означает, что и запуск дойдёт до этого места.
Заодно проверка называет страну, из которой выходит ваш сервер: по ней профиль получает часы и список языков.
Туннель, который не поднялся, называет вам причину, от отвергнутого сервером входа до сменившегося ключа, а не винит адрес.
Эту запись не проверить из кабинета на сайте
Чего это не делает
- Сервера здесь не дают. ARMANOS машины не продаёт, не сдаёт и не настраивает: выходом станет та, до которой вы уже достаёте.
- Это не жилой адрес. Трафик выходит из сети хостинга, и площадка читает его ровно так.
- На Windows пароль не принимается, и ключ со своим паролем там тоже отклоняется. Работает простой файл ключа.
- За первое подключение здесь никто не ручается. Ключ сервера в первый раз принимается как есть и запоминается, и запуск останавливает только его последующая смена.
Как проверить
Каждое утверждение выше лежит в одном месте кода, и у каждого есть стенд.
- Туннель поднимается до настоящего сервера, трафик проходит, а обрыв лечится на том же порту
- apps/desktop/src/lib/sshTunnel.js · apps/desktop/test/выход-по-ssh.js
- Пароль не попадает в доводы ssh, а вход по зашифрованному ключу проходит
- apps/desktop/src/lib/sshTunnel.js · apps/desktop/test/выход-по-ssh.js
- Проверка обычного прокси идёт той же дорогой, что и запуск
- apps/desktop/src/main/main.js · apps/desktop/test/proxy-check-uses-bridge.js
Вопросы
- Уезжает ли файл ключа в аккаунт?
- Нет. Уехать мог бы только путь, а путь с этой машины на другой не значит ничего. Ни сверка, ни вход в аккаунт, ни общая запись его не трогают: каждый компьютер указывает свой ключ.
- Может ли другая программа этой машины пойти через туннель?
- Пока профиль открыт, да: вход на петле пропуска не спрашивает. Он привязан к петле, поэтому снаружи машины до него не дотянуться, и умирает он вместе с профилем.
- Что будет, если закрыть программу при открытом профиле?
- Туннели закрываются вместе с ней, и при закрытии окна, и при выходе. На macOS и Linux туннель, переживший падение, программа находит и снимает при следующем запуске.
- Это то же самое, что купленный SOCKS5?
- Вид тот же, машина другая. Дальний конец ваш и не делится с чужими людьми, но адрес у него хостинговый, а не домашний.
Сделайте выходом сервер, который у вас уже есть
В ARMANOS добавьте в библиотеку одну запись SSH и откройте за ней профиль.