esperar que o script não funcione com o script bash

1

Eu quero um script que ssh para o servidor remoto e, em seguida, executar um script que está na minha máquina local e, em seguida, armazenar a saída na minha máquina local

Espere o script do ssh para o servidor remoto:

#!/usr/bin/expect -f

set Timeout 2
        set IPaddress 10.118.137.78
        set Username "username"
        set Password "password"


        spawn ssh $Username@$IPaddress
        expect "ssword:"
        send "$Password\r"

script para ser executado na máquina remota e coletar os dados:

#!/bin/sh

for serveraddress in 'cat list.out'
do
"seeisso $serveraddress | grep -E -i ' os |proddropdown'"
done >> getos

=== Não sabe como: 1. combine ambos e obtenha o resultado. 2 em esperar script não leva o \ r e retorna para nova linha.

    
por nis 17.04.2013 / 23:23

1 resposta

1

Amostra rápida

#!/usr/bin/expect -f
set timeout -1
set Username "user"
set password "pass"
set ipaddress "host"
set script "script-name"

spawn $env(SHELL)
send -- "ssh $Username@$ipaddress $script\r"
expect "assword: "
send -- "$password\r"
send -- "exit\r"
expect eof

Isso funcionará para executar o script no lado remoto. Eu não brinquei com isso muito, mas quando estiver pronto você tem que Ctrl + C para sair. Neste ponto, eu estaria configurando chaves ssh para um ambiente pequeno e para um fantoche de uso maior ou algo para gerenciá-lo, então, para coisas ainda maiores, vá para o kerberos de logon único provavelmente.

    
por 18.04.2013 / 01:49