pseudo script ssh interativo

3

Eu preciso executar um script que ssh s para outra máquina na minha rede local, (eu tenho a chave RSA emparelhada com eles), depois de ssh ing, eu preciso executar um comando e obter os resultados de o comando no script local (para analisar) e, em seguida, execute outro comando criado a partir de algumas das informações do primeiro comando.

Aqui está uma explicação passo a passo do que eu quero fazer:

  • ssh em uma máquina executando o FileMaker Server 11
  • obtenha uma lista dos clientes
  • pesquisar por um determinado cliente
  • se esse cliente estiver conectado, obtenha seu ID na lista
  • envia um comando Disconnect ID para o servidor FileMaker
  • sair.

Espero que isso não seja muito confuso.

    
por Russell McGaha 18.08.2016 / 17:58

1 resposta

1

algo como:

#!/bin/sh
clients=$(ssh server "get-list-of-clients")
myclient=$(echo $clients | grep my-client-name)
myclientid=$(echo $myclient | sed -e 's/^.*id=\([0-9]*\).*$//')
ssh server "kill-client-with-id $myclientid"
  • a primeira linha se conecta ao servidor e solicita a lista de clientes (é claro que você substituirá o nome e o comando do servidor para obter a lista de clientes com os clientes corretos)
  • segunda linha extrai apenas o cliente que você quer
  • terceira linha extrai apenas o ID do cliente que você deseja usar sed(1) , preservando apenas o número da parte id=1234 da linha (você precisará editar isso provavelmente, a menos que o formato seja apenas isso)
  • quarta linha conecta-se ao servidor remoto para eliminar o cliente especificado
por 18.08.2016 / 21:57