-1
我试图创建一个非托管脚本来管理我的tp-link开关(更改状态,描述和速度......)。 TP-LINK使用思科......例如类似的连接:关闭端口:linux中的非托管任务
enable
configure
interface gigabitEthernet 1/0/20
shutdown
如果我连接到我的开关(带SSH)我可以执行所有的命令没有问题,但我用命令行唐”牛逼的作品:
例如:
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来执行这个选项,结果是好的,但是如果我用ssh连接执行期望的话也不行。
我希望脚本:
#!/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。我用期望的脚本编辑我的文章。问题不在于脚本。这工作正常,但如果我执行期望与远程主机不起作用(不要登录)。 – user3368224
那么当你用'ssh'替换'telnet'时,它什么都不做?你尝试过使用'ssh -T'(不要分配PTY)。 – favoretti