-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