In the hope for getting the commands that run via ruby net::ssh tool which is described as follow:
Net::SSH is a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.
I added many variations to my .bashrc like this:
shopt -s histappend export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$"\n"}history -a; history -c; history -r" and this:
shopt -s histappend PROMPT_COMMAND='history -a;history -n' and this
shopt -s histappend PROMPT_COMMAND='history -a' None of these worked, when I check my /root/.bash_history I can only see the command I executed myself by hand when being connected to my remote server.
Here is an example of a ssh::net script I am using:
Net::SSH.start("IP-ADDRESS-OF-REMOTE-SERVER-HERE", "root") do |ssh| ch = ssh.open_channel do |ch| ch.exec "echo this should be logged in .bash_hisory" do |_, success| puts success abort "could not execute command" unless success ch.on_data do |_,data| puts data end ch.on_request("exit-status") do |_, data| puts "Exit" end ch.on_close do |ch| puts "Closing!" end end end ssh.loop end What I want is to see the commands executed in other sessions including the ones from net::ssh