ssh 到一个端口

Cha*_*art 2 ssh port telnet

考虑以下两个命令:

创建 smtp 消息 | ssh -p 25 服务器帐户
创建 smtp 消息 | ssh 服务器帐户 telnet 本地主机 25

根据我对 ssh(1) 的理解,它们都应该做同样的事情。相反,第二个将 create-smtp-message 的输出从 serveraccount 发送到服务器的端口 25(即,它可以工作),而第一个只是挂起。

我猜这只是我误解了 ssh 在被赋予 -p 标志时会做什么,但如果出现一些配置错误:发出类似命令的客户端是 osx-tiger 和 openssh ssh (OpenSSH_5.1p1, OpenSSL 0.9.7l 2006 年 9 月 28 日),服务器使用 openssh sshd(OpenSSH_3.8.1p1 Debian-8.sarge.6,OpenSSL 0.9.7e 2004 年 10 月 25 日)运行 Debian Sarge(真的?必须升级那个!)。授权使用 DSA,如 .ssh/config 文件中所指定。

Gre*_*ork 5

您的第一个示例是告诉 ssh 连接到非标准端口上的 ssh 守护程序(服务器端进程),在本例中为 25。如果 sshd 守护程序未在此端口上侦听,则连接尝试将超时或错误正如您所遇到的,协议问题。

第二个是告诉 ssh 与“serveraccount”(通过端口 22 发生)建立正常连接,并远程执行到 localhost:25 的 telnet 命令。create-smtp-message 的输出成为您的 telnet 命令的标准输入,从而允许您的 SMTP 服务器接收您的消息。