Como faço para impedir que uma sessão de telnet demore o tempo limite?

1

Eu conecto a um roteador Cisco usando o telnet.

A conexão expira a cada 3 minutos.

Como impedir que minha sessão de telnet seja desconectada do roteador devido a um tempo limite.

Eu entendo que putty e SecureCRT podem enviar um caractere nulo ou escape periodicamente para parar a sessão (telnet ou SSH) de tempo limite.

Como faço isso no Linux sem um programa de terceiros? Eu uso o seguinte script como um script de inicialização ao iniciar meu terminal:

#!/usr/bin/expect -f

spawn telnet <Router IP Address>
expect -re "ogin: "
send "*******\n"
expect -re "assword:"
send "***********\n"
sleep 2
expect "Router>"
interact
    
por Khaled Abuelenain 17.02.2018 / 01:14

2 respostas

2

A declaração interact de expect pode levar pares de padrões e ações um pouco como a instrução expect . Em particular, você pode adicionar um padrão de tempo limite e uma ação de envio. Por exemplo,

interact timeout 10 { send "date\r" }

envia o que você digita como de costume, mas se você não digitar por 10 segundos, ele enviará a string date e carriage-return. Se você estiver usando telnet, no modo char, você poderá manter a conexão ativa simplesmente enviando um espaço seguido por um backspace, o que não interromperia qualquer linha parcial que você já tenha digitado:

interact timeout 150 { send " \b" }
    
por 17.02.2018 / 16:00
2

Você tem o tempo limite padrão em telnet sessões no lado da Cisco e não no lado do Linux como uma medida de segurança.

Eu aconselho não confundir os timeouts com keepalives TCP. Eles são timeouts de camada 7 para inatividade do operador / operador humano.

Eu diria que você deve configurar ssh sessions e não telnet para os roteadores Cisco devido a preocupações de segurança.

Uma das configurações que você pode fazer no cisco side se você usar ssh é:

ip ssh timeout 300

Quanto a telnet , você pode alterar o tempo limite padrão como:

r1# configure terminal
r1(config)# line vty 
r1(config-line)# exec-timeout 300

Você também pode usar exec-timeout 0 ou ip ssh timeout 0 para não ter tempos limite em telnet ou ssh , mas não é considerado uma boa prática de segurança. .

Também aconselho alterar outras configurações padrão do roteador, ou seja, o padrão hostname .

    
por 17.02.2018 / 01:32

Tags