Ключ у тебя уже есть, пароль ты уже ненавидишь, но всё равно каждый раз пишешь ssh user@ip, потом ещё раз на бастион, потом снова, потом ждёшь. SSH умеет делать это нормально, если один раз настроить конфиг.
~/.ssh/config вместо копипасты
Создай конфиг и закрой на него права:
nano ~/.ssh/config
chmod 600 ~/.ssh/config
Минимальный пример: алиас, юзер, ключ, нормальные keepalive
Host prod
HostName 95.215.56.62
User maga
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 30
ServerAliveCountMax 3
Теперь подключение становится человеческим:
ssh prod
JumpHost: когда есть bastion
Если внутренняя машина доступна только через bastion, добавляешь ProxyJump.
Host bastion
HostName 1.2.3.4
User maga
IdentityFile ~/.ssh/id_ed25519
Host internal
HostName 10.95.0.10
User maga
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion
И заходишь одной командой, без матрёшки из ssh:
ssh internal
Ускоряем повторные ssh: ControlMaster
Когда ты делаешь 10 коннектов подряд, каждый новый handshake это боль, особенно через bastion. Мультиплексирование решает.
Host *
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
После этого повторные ssh internal ощущаются как телепорт.
Вывод
Ключи дают безопасность, а ~/.ssh/config даёт скорость и порядок. ProxyJump убирает матрёшку, ControlMaster убирает тормоза. Один раз настроил и дальше просто работаешь.
LinuxCamp | #utils
