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" }