强制telnet模式为字符而不使用telnet命令

我有一台远程主机C,可以使用从主机B的telnet访问。从主机A,我使用ssh创build一个端口转发访问主机C的远程login服务器。

我在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>)。 我不知道是否有某种environ var导出或一些标志/选项来通过telnet客户端(我没有看到任何东西在手册页)。

当然,如果我使用从主机A或主机B到主机C的telnet进行连接,则telnet模式始终是字符(而不是逐行)

不完全遵循你正在做的事情…

但是,您可以在主机上按主机指定telnet命令,或者使用$ HOME / .telnetrc或/ etc / telnetrc文件将其设置为使用DEFAULT主机的所有主机。 请参阅telnet手册页的“open host”部分。

如果你让我们知道什么是telnet客户端,或者至less你在使用什么操作系统,这将是有帮助的。 在许多系统上,如果你telnet到23以外的端口(或者任何“telnet”匹配/ etc / services),客户端将不会做任何协议协商。 这对于手动debuggingHTTP或POP服务器非常有用,但在您的情况下不是那么好。

根据Linux,OS X和Cygwin上的telnet手册页,在端口号之前加上一个减号(例如telnet localhost -3015应强制在非标准端口上进行协商。 Solaris上的手册页没有提到这一点。 我不知道标准的Windows远程login客户端提供什么。