Каждый раз когда кто-то пишет ssh root@192.168.1.100 -i ~/.ssh/my_key -p 2222 я немного расстраиваюсь. Это всё можно убрать в конфиг раз и навсегда.

~/.ssh/config — файл который большинство людей не трогает. А зря.

Host prod
  HostName 168.222.194.174
  User root
  Port 22
  IdentityFile ~/.ssh/id_ed25519

Host staging
  HostName 10.0.0.5
  User deploy
  IdentityFile ~/.ssh/staging_key
  ForwardAgent yes

Host *
  ServerAliveInterval 60
  ServerAliveCountMax 3
  AddKeysToAgent yes

После этого ssh prod — и всё. Никаких флагов.

Что здесь важно:

ServerAliveInterval 60 — шлёт keepalive каждую минуту, соединение не рвётся когда сидишь без активности. Меня это раздражало годами пока не добавил.

ForwardAgent yes — прокидывает SSH-агент на удалённый сервер. Нужно если с него нужно ходить на другие серверы или в git по SSH ключу который лежит у вас локально. Включать только для доверенных серверов.

AddKeysToAgent yes — автоматически добавляет ключ в ssh-agent при первом использовании, не надо каждый раз вводить парольную фразу после перезагрузки.

Права на файл важны: chmod 600 ~/.ssh/config, иначе SSH его проигнорирует.

Казалось бы мелочь — но когда каждый день ходишь на 5–10 разных серверов, это реально разница.