Uma maneira rápida seria verificar se a variável SSH_TTY
está definida:
$ ssh lab
$ echo $SSH_TTY
/dev/pts/22
Existem algumas variáveis relacionadas ao SSH definidas. Dois outros são SSH_CLIENT
e SSH_CONNECTION
. Qualquer um deles pode ser usado também.
Outra maneira seria verificar se um processo ancestral é o daemon sshd
:
$ pstree -ps $$
init(1)───sshd(1170)───sshd(14153)───sshd(14225)───bash(24232)───pstree(27281)
Leitura relevante:
- Como posso detectar se o shell está controlado a partir de SSH? - uma pergunta bem respondida no Unix & amp; Linux.