2017-01-02 4 views
-1

tp-link 스위치 (상태, 설명 및 속도 변경 ...)를 관리하기 위해 관리되지 않는 스크립트를 만들려고합니다. '나는 (ssh를 포함) 내 스위치에 연결하면리눅스에서 관리되지 않는 작업

enable 
configure 
interface gigabitEthernet 1/0/20 
shutdown 

내가 문제없이 모든 명령을 실행할 수 있지만 명령 줄 돈 사용 : 포트를 비활성화 : TP - 링크 예를 들어 ... 시스코 유사한 연결을 사용 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과 함께 실행하면 결과가 정상이지만 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 

스크립트는 잘 작동하지만 원격 호스트에서이 스크립트를 실행하면 일을하지 :

스크립트가 기대 내.

감사합니다.

+0

작동하지 않는 예상 코드를 제공하면 도움이 될 수 있습니다. 그렇지 않으면 질문이 너무 일반적입니다. – favoretti

+0

안녕하세요 @ favoretti. 기대 스크립트로 내 게시물을 편집했습니다. 문제는 스크립트가 아닙니다. 이것은 잘 작동하지만 원격 호스트가 작동하지 않을 때 (로그인하지 않음) 기대를 실행하면. – user3368224

+0

그래서'telnet'을'ssh'로 대체하면 아무 것도하지 않습니까? 'ssh -T' (PTY를 할당하지 않음)를 사용하여 해봤습니까? – favoretti

답변

0

위의 문제는 ssh가 자동으로 PTY를 할당하지 못했기 때문에 발생했습니다. ssh -t이 문제를 해결했습니다.

관련 문제