【问题标题】:How to log ssh debug info?如何记录 ssh 调试信息?
【发布时间】:2011-11-23 22:07:59
【问题描述】:

我需要将 ssh 调试信息的输出写入文件。这个

ssh -v root@172.16.248.xx > result.txt
ssh -v root@172.16.248.xx 2>&1 > result.txt

不起作用,文件 result.txt 是空的,但在屏幕上我看到一堆调试行,例如:

OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 172.16.248.xx [172.16.248.xx] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
etc

有没有办法将这些行重定向到文件?

【问题讨论】:

    标签: debugging ssh redirect


    【解决方案1】:

    您必须在命令行上更改重定向的顺序:

    ssh -v root@172.16.248.xx >result.txt 2>&1
    

    或者只是:

    ssh -v root@172.16.248.xx 2>result.txt
    

    【讨论】:

      【解决方案2】:
       -E log_file
               Append debug logs to log_file instead of standard error.
      

      【讨论】:

      • 欢迎Bhoodha!考虑改进您的问题,提供更多背景信息。例如添加对手册页的引用:man.openbsd.org/ssh.1
      【解决方案3】:

      显然,将此“隐藏”调试输出保存到文件的最佳方法是使用 logsave:

      logsave result.txt ssh -v root@172.16.248.xx
      

      【讨论】:

      • 完全没有必要。这不是“隐藏”的调试信息。它是 STDERR,您将其重定向到 STDOUT。 STDOUT 是您要重定向的内容,但是您正在执行此操作您将 STDERR 设置为写入 STDOUT 正在写入的同一文件(控制台)。这就是为什么萨尔瓦的答案应该起作用的原因。
      猜你喜欢
      • 2011-07-08
      • 2011-08-11
      • 2011-11-10
      • 1970-01-01
      • 2021-12-15
      • 2016-02-21
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      相关资源
      最近更新 更多