温馨提示×

debian telnet如何设超时

小樊
43
2026-09-04 18:43:42
栏目: 智能运维

在 Debian 下,telnet 本身的超时设置取决于你指的是“客户端连接超时”还是“服务器端空闲超时”。下面分情况说明:


一、telnet 客户端连接超时(连接不上时等多久)

Debian 自带的 telnet 命令(通常来自 telnet-client / inetutils-telnet本身不支持直接设置连接超时参数

常见替代方案

  1. 使用 timeout 命令
timeout 5 telnet 192.168.1.10 23

表示最多等 5 秒。

  1. 使用 nc(netcat)代替
nc -w 5 192.168.1.10 23

-w 设置超时时间(秒)。


二、telnet 服务器端空闲超时(连上后多久不动断开)

Debian 中 telnet 服务通常由 telnetd 提供(inetd/xinetd)。

1. 使用 xinetd(常见)

编辑:

/etc/xinetd.d/telnet

示例:

service telnet
{
    disable = no
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    server = /usr/sbin/in.telnetd
    server_args = -L /bin/login
    timeout = 600   # 单位:秒(10分钟)
}

重启 xinetd:

systemctl restart xinetd

2. 使用 inetd

/etc/inetd.conf 中:

telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

inetd 本身不支持细粒度超时,一般依赖 TCP keepalive 或 shell 超时。


三、登录后 shell 空闲超时(推荐)

即使 telnet 不断,也可以让 shell 自动退出:

bash 用户

export TMOUT=600

(600 秒无操作自动注销)

写入:

/etc/profile

~/.bashrc

四、TCP 层超时(进阶)

修改内核参数(对所有 TCP 连接有效):

sysctl -w net.ipv4.tcp_keepalive_time=600

总结

需求 方法
客户端连接超时 timeout / nc -w
服务端空闲断开 xinetd timeout
登录后无操作断开 TMOUT
TCP 层超时 tcp_keepalive

如果你能说明是 客户端还是服务器、telnetd 还是 xinetd,我可以给你更精确的配置示例。

0