ssh

Подключение к серверу, запуск команд и создание зашифрованных туннелей.

Перед выполнением

При первом подключении сверяйте отпечаток ключа узла по доверенному каналу. -N включает только перенаправления; Ctrl+C останавливает эти туннели переднего плана. При -L имя цели разрешается и соединение к ней устанавливается с SSH-сервера; при -R — с этого компьютера. Удалённое прослушивание зависит от политики перенаправления сервера, а привязка к loopback — также от GatewayPorts. ExitOnForwardFailure проверяет начальную настройку, а не доступность всех последующих целей. -D предоставляет SOCKS, не VPN: настройте клиент отдельно, включая удалённый DNS, если он поддерживается. Перед публикацией подробных журналов скрывайте адреса, имена пользователей и пути к ключам.

Примеры

Войти в удалённую учётную запись, проверить ключ узла и пройти аутентификацию.

ssh alice@server.example.com

Выбрать порт 2222 и файл ключа; IdentitiesOnly ограничивает предлагаемые ключи.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

Подключиться к цели через промежуточный сервер с ProxyJump (-J).

ssh -J alice@bastion.example.com alice@internal.example.com

Локальное перенаправление: порт 15432 ведёт к базе данных через сервер.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

Удалённое перенаправление: loopback-порт 18080 сервера ведёт к порту 8080 этого компьютера.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

Открыть локальный SOCKS на 127.0.0.1:1080.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Включить подробную диагностику и тайм-аут установления соединения десять секунд.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

Подключитесь последовательно через два промежуточных сервера. Клиент выполняет аутентификацию на каждом; проверьте все ключи хостов.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Покажите действующие настройки клиента после обработки Host и Include. Вывод может содержать конфиденциальные данные подключения.

ssh -G alice@server.example.com

Выполните одну удалённую команду и вернитесь в локальную оболочку. Используйте кавычки с учётом удалённой оболочки.

ssh alice@server.example.com 'uptime'

Создайте и повторно используйте соединение, проверьте его и завершите основное. Защитите ~/.ssh; завершение также закроет зависимые сеансы.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

Выведите категории запросов, алгоритмы ключей и шифры. Поддержка клиентом не гарантирует принятие сервером.

ssh -Q help
ssh -Q key
ssh -Q cipher

Проверьте запись known_hosts и её отпечаток. Удаляйте её только после независимой проверки смены ключа; используйте точный формат хоста и порта.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

Используйте неинтерактивный режим и тайм-аут в сценариях. Заранее настройте аутентификацию и доверие к хосту; запрос ввода приведёт к ошибке.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

Используйте ProxyCommand и -W через промежуточный сервер. ProxyJump обычно проще; проверьте ключи обоих хостов.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

Создайте SOCKS-слушатель на loopback сервера. Другие локальные пользователи и процессы могут получить доступ; сервер должен разрешать перенаправление.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Настройте зашифрованные проверки SSH и тайм-аут подключения. Они обнаруживают отсутствие ответа, но не гарантируют переподключение.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

Параметры и примеры

-p portЧасто

Подключитесь к указанному порту сервера.

Пример
ssh -p 2222 alice@server.example.com
-i identity_fileЧасто

Использовать указанный файл закрытого ключа; берегите его и никогда не делитесь им.

Пример
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

Укажите имя удаленного входа.

Пример
ssh -l alice server.example.com
-J destinationЧасто

Подключитесь через переходный хост SSH.

Пример
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostportЧасто

Forward a local listening port to a destination reached from the SSH server.

Пример
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostportЧасто

Forward a remote listening port to a destination reached from the local computer. Политика сервера может ограничивать привязку.

Пример
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:portЧасто

Создайте локальный прослушиватель SOCKS. Настройте каждый клиент для его использования; это не VPN.

Пример
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-NЧасто

Не запускайте удаленную команду; полезно только для пересылки.

Пример
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=valueЧасто

Установите параметр ssh_config для этого вызова. Forwarding setup success does not guarantee that a destination is reachable later.

Пример
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

Используйте альтернативный файл конфигурации клиента.

Пример
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvvЧасто

Распечатать диагностические данные; Чем больше символов v, тем больше деталей. Logs may contain sensitive connection information.

Пример
ssh -vvv alice@server.example.com
-4 / -6

Используйте только IPv4 или только IPv6 соответственно.

Пример
ssh -4 alice@server.example.com
-C

Запросить сжатие. Это может не улучшить уже сжатый трафик.

Пример
ssh -C alice@server.example.com
-T / -t

Disable or request a pseudo-terminal, respectively.

Пример
ssh -t alice@server.example.com
-A

Включите переадресацию агента. A compromised remote host can request signatures from the forwarded agent; используйте только с доверенными хостами.

Пример
ssh -A alice@server.example.com
-G

Print the effective client configuration after evaluating Host and Match rules.

Пример
ssh -G lab
-V

Распечатайте установленную версию клиента SSH.

Пример
ssh -V

Официальные источники

Проверено 27 октября 2026 г.