![是否可以仅显示来自 ssh 的调试消息?](https://linux22.com/image/1476927/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BB%85%E6%98%BE%E7%A4%BA%E6%9D%A5%E8%87%AA%20ssh%20%E7%9A%84%E8%B0%83%E8%AF%95%E6%B6%88%E6%81%AF%EF%BC%9F.png)
是否可以仅显示来自 ssh 命令的调试消息,例如:
debug1: Entering interactive session.
debug1: Sending environment.
并过滤警告信息,例如:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Warning: Permanently added 'hostname' (RSA) to the list of known hosts.
有一个选项“-q”可以禁用警告消息,但它也会禁用所有调试消息。
我可以只拥有一个而不要另一个吗?
答案1
所有调试消息都以字符串开头debug{1,2,3}
,因此您只需使用 grep 即可执行此操作,例如像这样(请注意,这些消息在 stderr 上):
ssh -vvv host 2>&1 | grep "^debug[123]"
但它当然也会过滤掉你的密码、shell 提示符和其他重要信息。如果你想要将其过滤到某个文件中,它可以像这样工作:
ssh -vvv host 2>&1 | tee >(grep "^debug[123]" > file)