Existe uma maneira de editar a configuração de ssh para ecoar um texto personalizado para cada nome de host?

2

Eu tenho um arquivo de configuração ssh com vários hosts e cada host tem algum encaminhamento de porta pré-configurado

Host host
  HostName host.server.com
  User user
  LocalForward 1234 localhost:9911
  LocalForward 5678 localhost:9922

Existe uma maneira simples de exibir um texto como

Service 1 (port: 9911) forwarded to port: 1234
Service 2 (port: 9922) forwarded to port: 5678

após o login?

    
por tvcuyck 21.03.2018 / 13:23

1 resposta

1

Solução Awk:

awk '/LocalForward/ 
{ count++;
  split($3,arr,":");
  printf "Service %i ( port: "arr[2]") forwarded to port : "$2"\n",count 
}' ssh_config

Correspondência de padrões para qualquer linha LocalForward e, em seguida, incrementar uma contagem variável. Dividir o terceiro campo delimitado por espaço na linha usando: colocando os resultados em uma matriz (arr). Imprima o texto necessário, extraindo o segundo elemento na matriz arr juntamente com o segundo espaço delimitado por dados na linha.

    
por 21.03.2018 / 15:30

Tags