Назад | Перейти на главную страницу

ssh-подключение к порту

Рассмотрим следующие две команды:

create-smtp-message | ssh -p 25 serveraccount
create-smtp-message | ssh serveraccount telnet localhost 25

Согласно моему пониманию ssh (1), они оба должны делать одно и то же. Вместо этого второй отправит вывод create-smtp-message на 25 порт сервера из serveraccount (т.е. он работает), а первый просто зависнет.

Я предполагаю, что я просто неправильно понимаю, что делает ssh, когда ему задан флаг -p, но в случае какой-либо ошибки конфигурации: клиент, на котором были выданы аналогичные команды, - это osx-tiger с openssh ssh (OpenSSH_5.1p1, OpenSSL 0.9.7l 28 сентября 2006 г.), на сервере работает Debian Sarge (правда? Его нужно обновить!) С openssh sshd (OpenSSH_3.8.1p1 Debian-8.sarge.6, OpenSSL 0.9.7e 25 октября 2004 г.). Авторизация выполняется с использованием DSA, как указано в файле .ssh / config.

Ваш первый пример говорит ssh подключиться к демону ssh (процесс на стороне сервера) через нестандартный порт, в данном случае 25. Если демон sshd не прослушивает этот порт, время попытки подключения истечет или произойдет ошибка с проблема протокола, которую вы испытываете.

Второй - говорит ssh установить нормальное соединение с сервером «serveraccount» (что происходит через порт 22) и удаленно выполнить команду telnet для localhost: 25. Результат create-smtp-message становится stdin для вашей команды telnet, что позволяет вашему SMTP-серверу получать ваше сообщение.

ssh требует sshd на другой стороне для связи. Опция -p указывает, на каком порту будет происходить этот контакт, если не порт по умолчанию. Это не так, чтобы кто-то мог ssh на SMTP-сервер или веб-сервер. Однако это ошибка, которую пытается выполнить первая строка, и она терпит неудачу, потому что эти порты не являются sshd, который может обрабатывать и расшифровывать зашифрованный протокол ssh. Помните, что опция -p существует только для того, чтобы параноик мог переместить свой порт sshd на какой-то неочевидный номер.

ssh - это не клон telnet, а безопасный замена тому, что было главным, но небезопасный приложение telnet - создание удаленного терминального соединения.

Одно из устаревших применений telnet, для которого он до сих пор полезен, - это создание тупого терминального подключения к любой порт в системе. Затем вы можете дословно отправлять и получать символы на этот порт. В строке 2 вы использовали ssh для шифрования сеанса с удаленным хостом, а затем на удаленном хосте вы вызвали telnet на этом хосте для отправки информации из сеанса на сервер smtp.

Ssh, с другой стороны, пытается зашифровать все, а не чистый текст, и для связи с ним требуется sshd, а это единственный способ дешифрования.

Возможно, вы хотите узнать о перенаправлении портов незашифрованного трафика с использованием шифрования ssh, но это сложное приложение, и неясно, что вы необходимость Это. Ваша вторая строка, вероятно, достаточно хороша для заявленных вами целей.