tp-linkスイッチ(状態、説明、速度の変更など)を管理するためのアンマネージスクリプトを作成しようとしています。 「私は(sshで)私のスイッチに接続した場合Linuxのアンマネージタスク
enable
configure
interface gigabitEthernet 1/0/20
shutdown
が、私は問題なくすべてのコマンドを実行することができますが、私は、コマンドラインドン使用:ポートを無効にします:TP-LINKは、例えば...シスコ同様の接続を使用していますtは動作します:
例えば:
ssh x.x.x.x "sh interface configuration"
このコマンドは、私のポートのステータスを表示することしか示さないべきではありません。ユーザーとパスワードは大丈夫です。 SSHは返品します:
Authenticated with partial success.
Connection to 192.168.20.26 closed by remote host.
これを実行する他のオプションはありますか?
私はこれをexpectとtelnetで実行してみてください。結果はOKですが、もしssh接続でexpectを実行しても、どちらもうまくいきません。
#!/usr/bin/expect -f
spawn -noecho telnet 192.168.20.26
expect "User:"
send -- "admin\r"
expect "Password:"
send -- "mypass\r"
send -- "enable\r"
send -- "configure\r"
send -- "interface gigabitEthernet 1/0/20\r"
send -- "description hola\r"
send -- "exit\r"
send -- "exit\r"
send -- "exit\r"
send -- "exit\r"
send -- "exit\r"
interact
スクリプトが正常に動作しますが、私は、リモートホストからこのスクリプトを実行した場合に作業を行いません。
は、スクリプトが期待するマイ。
よろしくお願いいたします。
期待していないコードがいくつか用意されていれば、助けてくれるかもしれません。そうでなければ、あまりにも一般的すぎます。 – favoretti
こんにちは@favoretti。私はexpectスクリプトで投稿を編集しました。問題はスクリプトではありません。これは正常に動作しますが、リモートホストで期待通りに動作しないと動作しません(ログインしないでください)。 – user3368224
'telnet'を' ssh'で置き換えると、何もしません。 'ssh -T'を使ってみましたか(PTYを割り当てないでください)。 – favoretti