我有一个远程主机C,可以从主机B访问远程主机C。从主机A,我使用ssh创建一个端口,用于访问主机C的telnet服务器。
我在hostA上使用以下命令
ssh -n -l root <ip HostB> -L3015:<private ip hostC>:23 -N -t -t使用此命令,我可以使用telnet localhost 3015连接到hostC的telnet端口,但取决于hostC模型/设备,telnet工作逐行或字符。我想强迫telnet总是在字符模式下工作。
我知道我可以使用telnet命令更改模式,但是我需要强制这种模式,而不需要转义到telnet提示符(telnet>)。我不知道是否有某种环境变量可以导出,或者是否有一些标志/选项可以传递telnet客户端(我在手册页面上什么也看不到)。
当然,如果我使用telnet从主机A或主机B连接到主机C,则telnet模式总是字符(而不是逐行)。
发布于 2009-10-14 12:19:37
不完全遵循你想做的事情..。
但是,您可以根据主机在主机上指定telnet命令,或者用$HOME/.telnetrc或/etc/telnetrc文件为默认主机的所有主机设置telnet命令。请参阅telnet手册页的“打开主机”部分。
发布于 2009-10-14 16:06:56
如果您让我们知道什么telnet客户端,或者至少您正在使用什么操作系统,这将是有帮助的。在许多系统上,如果您将telnet连接到23以外的端口(或/etc/services中任何"telnet“匹配的端口),则客户端不会进行任何类型的协议协商。这对于手动调试HTTP或POP服务器是很好的,但在您的情况下就不是那么好了。
根据Linux、OS和Cygwin上的telnet手册页,在端口号之前加上一个减号,例如telnet localhost -3015应该强制在非标准端口上进行协商。Solaris上的手册页面没有提到这一点。我不知道标准的Windows客户端提供了什么。
https://serverfault.com/questions/74331
复制相似问题