텔넷 세션 시간 초과를 방지하는 방법은 무엇입니까?

텔넷 세션 시간 초과를 방지하는 방법은 무엇입니까?

텔넷을 사용하여 Cisco 라우터에 연결합니다.

3분마다 연결 시간이 초과됩니다.

텔넷 세션 시간 초과 및 라우터 연결 끊김을 어떻게 중지합니까?

내가 아는 한, putty와 SecureCRT는 주기적으로 null 또는 이스케이프 문자를 보내 세션(telnet 또는 SSH)이 시간 초과되는 것을 방지할 수 있습니다.

타사 프로그램 없이 Linux에서 이 작업을 어떻게 수행합니까? 터미널을 시작할 때 다음 스크립트를 시작 스크립트로 사용합니다.

#!/usr/bin/expect -f

spawn telnet <Router IP Address>
expect -re "ogin: "
send "*******\n"
expect -re "assword:"
send "***********\n"
sleep 2
expect "Router>"
interact

답변1

interact의 문은 이 문과 유사한 쌍을 이루는 패턴과 작업을 expect취할 수 있습니다. expect특히 시간 초과 모드를 추가하고 작업을 보낼 수 있습니다. 예를 들어,

interact timeout 10 { send "date\r" }

입력한 내용은 평소대로 전송되지만 10초 동안 입력하지 않으면 문자열 date과 캐리지 리턴이 전송됩니다. 문자 모드에서 텔넷을 사용하는 경우 공백과 백스페이스를 차례로 보내 연결을 활성 상태로 유지할 수 있습니다. 이렇게 하면 입력한 줄의 어떤 부분도 중단되지 않습니다.

interact timeout 150 { send " \b" }

답변2

telnet보안 조치로 Cisco 측 세션에는 기본 시간 초과가 있지만 Linux 측에서는 그렇지 않습니다.

timeoutsTCP keepalive와 혼동 하지 않는 것이 좋습니다 . 이는 콘솔/운영자 비활성에 대한 레이어 7 시간 초과입니다.

ssh보안상의 이유로 Cisco 라우터 대신 세션을 설정해야 한다고 말하고 싶습니다 .telnet

필요한 경우 Cisco 측에서 수행할 수 있는 구성 중 하나는 ssh다음과 같습니다.

ip ssh timeout 300

의 경우 telnet기본 시간 초과를 다음과 같이 변경할 수 있습니다.

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

또는 에서 시간 초과를 방지하기 위해 exec-timeout 0또는 를 사용할 수도 있지만 이는 좋은 보안 방법으로 간주되지 않습니다. .ip ssh timeout 0telnetssh

또한 라우터의 다른 기본 구성(기본값)을 변경하는 것이 좋습니다 hostname.

관련 정보