希望获得通过运行的命令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 的命令