Colegas, já verifiquei algumas msgs relacionadas ao uso do protocolo SSH em Java nos fóruns do GUJ.
Porém, não encontrei resposta para a minha situação.
Necessito enviar mais de um comando remoto ao mesmo tempo, em sequencia, para roteadores Juniper (na verdade o mesmo vale para eqptos de outras marcas tbém).
O problema ocorre porque ao logar em um roteador, o usuário é conectado em modo Somente Leitura. Significa que um segundo comando é necessário para habilitar o modo Configuração, permitindo a partir daí enviar os demais comandos de escrita. Para que isso funcione, pelo que entendi, a sequencia de comandos precisa ser executada em uma mesma sessão.
Diferentemente de servidores unix/linux, onde as permissões do usuário é que determinam o que pode ser feito imediatamente após sua conexão, em roteadores, mesmo com permissões de administrador, o usuário loga-se sempre no modo Somente Leitura. Ou seja, a interação é obrigatória para chegar até o modo Configuração.
Nos exemplos que busquei, os passos básicos são:
# Estabelecer conexão
# Loop conforme a qtd de comandos
# Estabelecer sessão
# Executar comando
# Encerrar sessão
# Fim do loop
# Encerrar conexão
Minha necessidade seria mais ou menos assim:
# Estabelecer conexão
# Estabelecer sessão
# Loop conforme a qtd de comandos
# Executar comando
# Fim do loop
# Encerrar sessão
# Encerrar conexão
[size=9]Obs: o loop dos comandos refere-se a uma lista de comandos em um arquivo, sendo um comando por linha[/size]
Verifiquei nas recomendações da biblioteca o uso do método requestPTY() da classe Session para envio de vários comandos em sequencia, entretanto não obtive sucesso.
Alguém poderia me ajudar?