是否可以仅显示来自 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)