На главную

DevOps и серверы

Конструктор ~/.ssh/config

Собирает Host-блоки с ключами и ProxyJump, а рядом строит команду проброса портов и объясняет, в какую сторону этот проброс работает.

Хосты

ssh prod

~/.ssh/config

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 3

Host prod
  HostName 203.0.113.10
  User root
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

Проброс портов

ssh -N -L 5433:localhost:5432 prod

У вас открывается 127.0.0.1:5433. Обращение туда идёт по шифрованному каналу на «prod», и уже он соединяется с localhost:5432. Так ходят в базу, закрытую файрволом.

Пояснения

  • · ServerAliveInterval не даёт NAT-у и файрволу выбросить простаивающее соединение.
  • · IdentitiesOnly yes нужен всегда, когда указан IdentityFile: иначе ssh-agent сначала перебирает все свои ключи и сервер отключает вас по MaxAuthTries.