Você pode usar o comando script
para registrar toda a saída do terminal, que em circunstâncias normais inclui todos os comandos digitados.
Uma invocação poderia se parecer com isso se você quiser anexar a um único arquivo:
script -a -f -c 'ssh cisco.example.com' /var/local/log/ssh-cisco.log
Ou assim, se você quiser arquivos separados por chamada:
script -f -c 'ssh cisco.example.com' "/var/local/log/ssh-cisco-$(date date +%Y-%m-%d_%H:%M:%S.%N).$$.log"
Se o usuário fosse obrigado a digitar esses comandos, eles certamente ficariam com preguiça de fazer toda aquela digitação extra para habilitar o registro. E escrever a coisa toda em um script de shell pode não ser bom o suficiente para você também, já que estou supondo que você não quer que os usuários possam ignorar o log.
Portanto, você deseja evitar que os usuários tenham acesso para ignorar o log, e você não quer que eles tenham acesso de gravação ao diretório que contém os logs.
Você pode configurar um grupo separado que tenha acesso de leitura à chave ssh e acesso de gravação ao diretório de log. Em seguida, você pode agrupar o comando script
em um executável set-group-id ou sudo
.