Eu gostaria de executar o comando script depois que uma conexão ssh é estabelecida. Eu quero que isso seja furtivo, a fim de gravar todos os comandos digitados em cada sessão SSH. Coisas como o uso de arquivos bashrc
ou profile
não funcionam com esse propósito, porque elas podem ser facilmente identificadas e ignoradas. Eu tentei acrescentar a seguinte linha ao meu arquivo /etc/pam.d/sshd
session optional pam_exec.so log=/var/log/ssh_login_cmd /home/auser/myscript
Onde myscript
é
#!/bin/bash
script --timing=/home/auser/time.txt /home/auser/script.log
Eu posso ver no arquivo de log (ssh_login_cmd) que o script foi executado assim que a conexão ssh é estabelecida. Outra prova disso é que os arquivos time.txt e script.log são criados e preenchidos com informações. Por favor, observe a saída retornada para o arquivo script.log
(aquele que deve ter os comandos executados). Como você pode ver, ele não registra os comandos executados na sessão ssh (posso garantir que alguns comandos foram executados). Por que isso está acontecendo?
Estou pensando, talvez, porque o comando de script espera CTRL-D
ou exit
para interromper o processo e não o está obtendo porque é usado pela primeira vez para sair da conexão ssh atual ... Não tenho certeza absoluta. Eu só estou tentando fazer algum sentido nisso. O que você acha disso? Qualquer feedback é apreciado.
Tags ssh pam logs typescript