SSH

Вы можете использовать протокол SSH как прокси-сервер, что эквивалентно ssh -D.

Синтаксис профиля:

  • Аутентификация по паролю
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw
  • Аутентификация по открытому ключу
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, private-key=base64(privateKeyFileContent)
  • Обратите внимание, что вы должны использовать base64 для повторного кодирования всего файла закрытого ключа, даже если сам файл закрытого ключа уже использует кодировку base64. Значение должно быть одной строкой, поэтому запретите OpenSSL разбивать вывод на строки (-A):
// OpenSSL 1.x
openssl enc -base64 -A -in /path/to/privatefile

// OpenSSL 3+
openssl base64 -A -in /path/to/privatefile
  • Поддерживаются три типа закрытых ключей: RSA/ECDSA/ED25519. DSA (ssh-dss) не поддерживается: не работают ни ключ хоста DSA, ни закрытый ключ DSA.

  • Приведённые ниже методы KEX и шифры — это встроенные настройки libssh2 по умолчанию, которые используют Chute Mac, iOS и tvOS; Chute Android вместо них использует набор по умолчанию своей SSH-библиотеки sshj. Это не белый список, который применяет Chute, — Chute их не сужает:

Метод KEX
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
curve25519-sha256@libssh.org
curve25519-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
diffie-hellman-group14-sha256
diffie-hellman-group-exchange-sha256
diffie-hellman-group-exchange-sha1
Шифр
chacha20-poly1305@openssh.com
aes256-gcm@openssh.com
aes128-gcm@openssh.com
aes256-ctr
aes192-ctr
aes128-ctr
aes256-cbc
rijndael-cbc@lysator.liu.se
aes192-cbc
aes128-cbc
blowfish-cbc
arcfour128
arcfour
cast128-cbc
3des-cbc
  • Теперь вы можете указать параметр тайм-аута бездействия. Значение по умолчанию — 180 секунд. Соединения, установленные через политику, делят одну сессию SSH, которая закрывается, когда в течение этого числа секунд через неё не идёт ни одно соединение. Пока открыто хотя бы одно соединение, сессия не закрывается, как бы мало по нему ни передавалось, а завершившееся соединение не влияет на остальные в той же сессии.
[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180

Отпечаток сервера

Для защиты от MitM-атак вы можете указать отпечаток открытого ключа сервера с помощью server-fingerprint, что гарантирует подключение только к легитимным серверам. Запись — это либо открытый ключ сервера в том виде, в каком его записывает ~/.ssh/known_hosts, — тип ключа и ключ в base64, ssh-ed25519 AAAA…, — либо его отпечаток SHA-256 в том виде, в каком его выводит ssh-keygen -l, SHA256:…. Двойные кавычки вокруг значения необязательны. Если server-fingerprint задан, но ни одну из его записей прочитать не удаётся, отклоняется каждое соединение, а не принимается любой сервер. Отклонённое соединение записывается в журнал с типом ключа, который предъявил сервер, и его отпечатком SHA256:.

[Proxy]
proxy = ssh, 1.2.3.4, 22, root, password=pw, idle-timeout=180, server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep"

Поскольку у сервера может быть несколько открытых ключей, параметр server-fingerprint поддерживает настройку нескольких отпечатков.

server-fingerprint = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABCAIO9KYmO+KZQH3VXU5C1aO2xl4G8+7NLkOYDNBxfZUqep,ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrklKEp4vuMqqNiS2lvDL7g3rQ2dAwvik+KIC4iVJNoaHhkLRAEv1y/dQYixf71ORZUI+w3AFKp1RzfiuwciTsMnp7Hq9uvcHqDRDaCrYe1EDx3Dr0XlH1wsdUcr+6DOAUzRSXK9LSEPVK1xHb6WJBaTkNOHruPCmrINA/DEIiflMN2q77AWlsMt+unhmY2YWgJprY+vpDOcXk8+CnL4K+QWNlHB8mTfB58p1oadz1xWG9so//rUMp7JHtUt6QpVJvwf/Qh7IcFNDhSHwSTJu2Px2P9biuUOPkmPtZmTIdnDx25EUWtmE/+VE3lZAYuur7KuGsG0o+X8dYnEMAN3ar"

Вы можете получить отпечаток сервера из файла ~/.ssh/known_hosts. Или в доверенной сети выполните команду ssh-keyscan example.com, чтобы получить его. Пожалуйста, удалите имя хоста в начале строки перед копированием в Chute: запись, которая всё ещё начинается с имени хоста, прочитать не удаётся.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

Эта страница — перевод английской версии. При расхождениях приоритет имеет английская версия.

results matching ""

    No results matching ""