linux - $ ssh -G 2>&1 | grep -e 非法 -e 未知 >/dev/null && echo "Sys­tem clean"||回显 "Sys­tem in­fec­ted"

标签 linux bash ssh

我今天在 ESET 网页上找到了这个命令- 有人可以帮助我更好地描述该命令的含义吗?我的 Linux 技能不是最好的,我也尝试用谷歌搜索它,但没有运气。谢谢

$ ssh -G 2>&1 | grep -e illegal -e unknown >/dev/null && echo "系统清理"|| echo "系统被感染"

最佳答案

这使用简单的 bash 编程来测试“ssh -G”的行为

该行运行带有“-G”选项的 ssh 命令(ssh 中不存在的命令)。

该命令将打印

'ssh: illegal option -- G'

'ssh: unknown option -- G'

在正常情况下,结果将通过管道传输到 grep 命令,该命令检测预期的错误消息(“未知选项”或“非法选项”),当 grep 完成时,运行打印“System Clean”的系统命令如果返回状态正常('&&' 的意思)或者如果返回状态不正常('||' 的意思)则打印“系统感染”。

例如测试是否有:

ls '.' && echo "OK" || echo "KO"

如果替换“.”,则比较结果一些不存在的文件。

实际上,我们正在尝试查看“ssh -G”是否返回真正的错误消息或某些其他行为(因为支持隐藏选项)。

我不能完全确定带有 -G 选项的 ssh 命令的行为,因为我没有可用的受感染系统,但你明白了。

注意:如果您从某个网站复制粘贴上述命令,请当心,任何拼写错误(例如在 grep 错误位置添加的空格)都可能导致脚本打印“System Infected”,而实际情况并非如此。

关于linux - $ ssh -G 2>&1 | grep -e 非法 -e 未知 >/dev/null && echo "Sys­tem clean"||回显 "Sys­tem in­fec­ted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22526214/

相关文章:

C: 在 linux 中发送 http get 请求

bash - 无法让 "=~"工作。继续获取 "[: =~: binary operator expected"

git - 难道我的 GitHub SSH key 不应该让我每次都免于编写凭据吗?

linux - 如何使用 Bash 监控目录?

python - ctime、atime 和 mtime - 如何解释它们?

linux - Linux 下的curl命令报错

mysql - 使用 LOAD DATA LOCAL INFILE : Ubuntu to RDS- MYSQL 时用户访问被拒绝

linux - ubuntu 14.04.4 LTS 中的 vncserver bash 脚本错误

shell - 从远程服务器上的行中删除单词

perl - 使用ssh在远程服务器上执行内联脚本时保护管道字符