找不到通过 ruby​​ net::sh 库执行的 bash 历史记录

找不到通过 ruby​​ net::sh 库执行的 bash 历史记录

希望获得通过运行的命令ruby 网::ssh工具描述如下:

Net::SSH 是 SSH2 客户端协议的纯 Ruby 实现。它允许您编写通过 SSH2 调用远程服务器上的进程并与之交互的程序。

我在 .bashrc 中添加了许多变体,如下所示:

shopt -s histappend
export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$"\n"}history -a; history -c; history -r"

和这个:

shopt -s histappend
PROMPT_COMMAND='history -a;history -n'

和这个

shopt -s histappend
PROMPT_COMMAND='history -a'

这些都不起作用,当我检查我的 /root/.bash_history 时,我只能看到连接到远程服务器时自己手动执行的命令。

下面是我正在使用的 ssh::net 脚本的示例:

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

我想要查看在其他会话中执行的命令,包括来自 net::ssh 的命令

相关内容