Acessa o nome do host local quando conectado ao host remoto

2

Eu conecto da máquina A à máquina B . Na máquina B , gostaria de imprimir o nome do host de A no prompt de comando do bash.

Eu tentei obter isso usando who -m e fazendo um pouco de cut ing, colocar saída diferente entre diferentes unix'es.

Não encontrei nenhuma maneira direta de obter esse nome de host.

Eu vejo duas possibilidades:

  1. De alguma forma, transmiti-lo ao se conectar usando ssh (acho que nunca mais usarei outra coisa para me conectar remotamente)
  2. Processando a saída de who de várias maneiras e esperando que não haja muitas versões por aí

A possibilidade (1) é preferível, porque eu posso enviar o nome de host que atribuí a um host e não o de minha operadora, mas não consegui encontrar uma maneira de arquivar isso em man ssh_config .

    
por Jens Erat 27.10.2011 / 00:29

1 resposta

1

Acessar o endereço IP do cliente é muito fácil. No meu .profile, tenho o seguinte trecho:

PS1="\T [\h:\w]\n(from ${SSH_CLIENT%% *}) $ "

que produz um prompt de duas linhas com a seguinte aparência:

08:25:14 [fluorine:~]
(from 72.69.85.67) $ 

Se a obtenção do nome de host do cliente for realmente importante para você, você poderá usar esse endereço IP e fazer uma pesquisa reversa de DNS no endereço IP extraído (assumindo que dig ou algo similar esteja instalado no servidor).

Ou, como você sugere, você pode enviar variáveis de ambiente para o servidor, supondo que você tenha o servidor ssh configurado para isso. Você pode consultar esta resposta para obter ajuda ao fazer isso.

    
por 29.10.2011 / 02:32