CMD Line executável de PUTTY chamando um script

0

Eu tenho tentado automatizar um processo de telnet usando um tipo de script. Sempre que recebo uma dica, aponta para PUTTY.

Eu baixei o PUTTY e seus derivados, (plink.exe) para fazer meu script funcionar. Eu não consigo passar do ponto zero ...

plink -telnet scriptfile.txt

(todos os arquivos locais)

parece apenas travar neste ponto. Qual é a sintaxe correta?

    
por FlyEagle 21.10.2014 / 17:02

3 respostas

0

Você está usando errado o aplicativo plink.

Tente com a ajuda oficial:

link

Página específica: 7.2.3.1 -batch: desativa todos os prompts interativos

    
por 21.10.2014 / 17:07
0

Não sei o que essa outra resposta está dizendo. A sinopse simples da linha de comando para plink é

plink [options] [user@]host [command]

e, assim, o uso mais simples é

plink host

onde host pode, é claro, ser um nome de host regular (resolvível via DNS, NIS, hosts file, ou qualquer outro) ou um endereço IP (numérico). Você provavelmente também pode usar um nome de perfil salvo PuTTY (que encapsula uma identificação de host, junto com um conjunto de opções). Você pode precisar usar a opção -telnet para informar plink para não usar o protocolo rlogin ou SSH.

Não sei o que você leu sobre o script plink . Tanto quanto sei, o PuTTY não tem essa capacidade. O que eu fiz foi automatizar um login remoto (na verdade, usei o SSH) usando expect para gerar plink . Eu obtive expect como parte do pacote ActiveTcl do ActiveState. (Se você pesquisar este site, poderá encontrar algumas instruções sobre como fazer isso.) Eu então escrevi um arquivo chamado foo.tcl que se parece um pouco com isto:

# load the Expect package into Tcl
package require Expect

exp_spawn plink 10.10.10.10

expect : {                      # Wait for the server to issue a login: prompt.
      exp_send -s "gman\r"      # My username (not really).
}

expect word: {                  # Wait for the server to issue a password: prompt.
      exp_send -s "iLoveCats\r" # My password (not really).
}
    ︙

e depois eu corri, digitando tclsh foo.tcl .

Boa sorte!

P.S. Na verdade, não coloque os comentários da maneira que mostrei. ActiveTcl permite comentários que começam com # , mas, aparentemente, apenas em linhas separadas.

P.P.S. O argumento command na linha de comando plink refere-se a um comando que você deseja que plink envie para o host remoto após efetuar o login.

    
por 21.10.2014 / 20:05
0

Estou usando o seguinte arquivo .bat e funciona muito bem.

plink hostip -P portnum < cmds.txt

No meu caso, cmds.txt é apenas os comandos que eu colocaria se eu usasse o putty client.

Você também pode obter a saída do que o plink retorna para fins de diagnóstico dessa maneira:

plink hostip -P portnum < cmds.txt > output.txt
    
por 22.10.2015 / 16:47