С серверами по SSH я работаю уже более 15 лет, на текущий момент я подключаюсь к более чем 40-ка серверам, к некоторым несколько раз в день, к некоторым раз в несколько месяцев…
В целях безопасности практически на всех из них SSH передвинут на другой порт. Также за одним внешним адресом часто прячутся много серверов и соответственно они все не могут быть доступны по одному 22-ому порту. Ну и дополнительно при подключении может понадобится прокидывать ещё какие-нибудь порты или целиком делать SOCKS-прокси.
Чтобы не хранить в голове все адреса, порты, параметры прокидываемых портов я сделал себе отдельную директорию в домашней папке с именем Servers, в которой создавал sh-файлы для запуска серверов с нужными параметрами. Например вот такого содержания:
#!/bin/sh ssh -p 2222 -L 88:server.worgroup:80 -D 7777 myserver.example.com
Не самый удобный способ подключения к серверам из UNUX-подобных операционных систем, но ничего иного я не придумал.
На Windows есть putty, где можно прописать конфигурации подключаемых серверов, но при большом их количестве искать нужную конфигурацию также неудобно.
Также на Windows я использовал mRemoteNG, внутри которой для подключения по SSH используется тот же putty. Утилита гораздо более удобная, позволяющая подключаться по множеству протоколов, хотя мне нужны только SSH и RDP. Однако утилита похоже что заброшена…
Ну и вот пару месяцев назад я при поиске решения какой-то задачи наткнулся на упоминание такого файла, как .ssh/config. В общем в него можно вписать конфигурации всех требуемых серверов со всеми нужными параметрами подключения.
Пример конфигурации для подключения к вышеупомянутому серверу:
Host myserver HostName myserver.example.com Port 2222 LocalForward 88 server.worgroup:80 DynamicForward 7777
Подключаться к серверу стало гораздо проще, теперь достаточно просто набрать в командной строке:
ssh myserver
Ну и из-за того, что в Windows 10 и Windows 11 уже имеется openssh-client, который идентичен unix-овому и просто собран под Windows — то всё вышеперечисленное работает и на винде. Там файл конфигурации будет размещён в %USERPROFILE%\.ssh\config