2

Paramiko を使用して、リモートの Cisco ルーターおよびスイッチに接続しています。これらのデバイスに接続する場合、「構成」モードに入るときにエコーをオフにできるようにしたいと考えています。そうすれば、リモート システムにコマンドを発行しても、コマンドが戻ってくるのを回避できます (したがって、エラー メッセージを探すことだけに集中できます)。

次のコマンドを実行して、Cisco デバイスでシェルを取得しています。

    self.chan = self.transport.open_session()
    self.chan.get_pty()
    self.chan.invoke_shell()

ここで、pty の paramiko のファイル記述子を取得して、次のようなものを発行できるようにしたいと考えています。

    fd = self.chan.fileno()
    old = termios.tcgetattr(fd)
    old[3] = old[3] | termios.ECHO
    termios.tcsetattr(fd, termios.TCSADRAIN, old)

ただし、termiosは、chan.fileno() によって返されるファイル記述子でチョークします。

私が見たエコーをオフにするためのほとんどの提案では、リモート ボックスで「stty -echo」などの bash コマンドを発行する必要がありますが、Cisco ルーターは bash を実行していません。

4

1 に答える 1