Linux: $ SSH_CONNECTION está configurado mesmo sem o SSHing para o servidor

5

Eu tenho um servidor remoto e estou escrevendo um script no servidor e quero que seja acionado somente quando eu SSH. Pensei em usar o $SSH_CONNECTION e o $SSH_TTY para essa finalidade. Descobri que quando não usei o ssh e usei meu cliente VNC para acessar o servidor (tenho vnc em execução no servidor), os terminais criados dentro do VNC ainda têm essas duas variáveis de ambiente definidas e $SSH_CONNECTION tem o mesmo valor em ambos os casos. Eu encontrei uma solução para fazer mais filtragem por ps -o comm= -p $PPID e ver se o processo pai é sshd, mas eu quero saber por que as variáveis são definidas

    
por user881300 21.07.2014 / 22:44

1 resposta

2

Por que as variáveis SSH estão definidas?

É provável que as variáveis estejam definidas porque sua conexão VNC é encapsulada por meio de uma conexão SSH. Existem boas razões para fazer isso. O VNC usa o protocolo RFB que não é seguro . Tunneling VNC através do SSH melhora a segurança.

Por que a variável SSH_CONNECTION é a mesma?

A variável SSH_CONNECTION consiste em quatro valores: (1) endereço IP do cliente, (2) número da porta do cliente, (3) endereço IP do servidor e (4) número da porta do servidor. Para um cliente em particular falando com um servidor específico, o único que provavelmente mudará de uma sessão para a seguinte é o número da porta do cliente. Se isso muda depende. Por exemplo, o SSH pode ser instruído a reutilizar as conexões existentes . Isso é feito por velocidade. Nesse caso, várias conexões podem compartilhar uma porta.

    
por 23.07.2014 / 03:17