Как зарегистрировать неинтерактивную команду bash, отправленную через ssh

Я посылаю команду через ssh:

ssh server.org 'bash -s' << EOF ls -al whoami uptime EOF 

Как зарегистрировать его в системе (удаленный сервер)? Я хотел бы записать эти команды в некоторый файл (.bash_history или / tmp / log).

Я попытался добавить строку ниже в sshd_config:

 ForceCommand if [[ -z $SSH_ORIGINAL_COMMAND ]]; then bash; else echo "$SSH_ORIGINAL_COMMAND" >> .bash_history; bash -c "$SSH_ORIGINAL_COMMAND"; fi 

Но он регистрирует только «bash -s».

Буду признателен за любую помощь.

Когда bash shell выходит, bash считывает и выполняет команды из файла ~ / .bash_logout. Вероятно, вы можете запустить команду history в конце в .bash_logout (на сервере) и сохранить ее в определенном месте.

  • Если вам достаточно работать с данной командой, мы можем поместить необходимые дополнения для включения и регистрации истории команд в начале и конце, например

     ssh server.org bash <>~/.bash_history EOF 
  • Или мы могли бы поместить их в очень длинную строку ForceCommand :

     … if [[ "$SSH_ORIGINAL_COMMAND" == bash* ]]; then echo "set -o history"; cat; echo "history|sed 's/ *[0-9]* *//' >>~/.bash_history"; else cat; fi | bash -c "$SSH_ORIGINAL_COMMAND"; fi