Telnetセッションタイムアウトを防ぐ方法は?

Telnetセッションタイムアウトを防ぐ方法は?

Telnet を使用して Cisco ルータに接続します。

3分ごとに接続がタイムアウトします。

Telnet セッションのタイムアウトとルータの切断をどのように停止しますか?

私が知っている限り、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キャリッジリターンが送信されます。文字モードでTelnetを使用している場合は、スペースとバックスペースを順番に送信して接続をアクティブに保つことができます。これにより、入力した行のどの部分も中断されません。

interact timeout 150 { send " \b" }

おすすめ記事