Если Вы спрашиваете, "Что путь состоит в том, чтобы подключить к серверу SMTP с помощью SSH вместо telnet?" ответ нет ни одного.
SSH только связывается по портам с помощью протокола SSH. Используя его для соединения с любым другим портом перестанет работать, потому что SSH попытается говорить протокол SSH, который не будет понят под сервером SMTP (или FTP или другие серверные процессы).
Можно соединиться с другими серверами SSH, которые работают на других портах, но я интерпретировал вопрос означать, что Вы хотели говорить SMTP с почтовым сервером.
Функция называется ControlMaster
, которая выполняет мультиплексирование по одному существующему каналу . Это заставляет ssh выполнять все обмены ключами и входить в систему только один раз; таким образом, более поздние команды будут выполняться намного быстрее. Вы активируете его, используя эти три строки в вашем .ssh / config
:
Host host.com
ControlMaster auto
ControlPath ~/.ssh/master-%C
# for openssh < 6.7 you need to use this one:
# ControlPath ~/.ssh/master-%r@%h-%p
ControlPersist 5m
Вы можете настроить его под свои нужды; одна альтернатива - открыть одно главное соединение, которое остается открытым во время выполнения других команд; тогда вам не понадобится ControlPersist
.
Эта функция предоставляет множество возможностей для настройки, но убедитесь, что вы храните сокет ControlPath
в надежном месте, недоступном для чтения другими пользователями, иначе им можно будет воспользоваться не по назначению.
Дополнительную информацию можно найти на странице руководства ssh_config (5)
.
Если у вас есть контроль над машиной до такой степени, что вы автоматизируете на ней задачи, то почему нельзя добавить свой ключ в authorized_keys?
ssh-copy-id -i ~/.ssh/foo somehost@example.com
Тогда вам не нужно вводить пароль при каждом подключении.
Если самая большая проблема заключается в том, что соединение занимает много времени, вы можете повторно использовать одно соединение, добавив управляющее устройство
в вашу конфигурацию ssh. Оставьте это одно соединение активным, все последующие соединения будут почти мгновенными.
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600
https://puppetlabs.com/blog/speed-up-ssh-by-reusing-connections
В долгосрочной перспективе, если вы автоматизируете задачи, вам, вероятно, будет лучше использовать среду автоматизации, которая обрабатывает установление соединение для вас, например: