带通配符的ssh远程命令

时间:2018-04-11 14:35:38

标签: nginx ssh grep wildcard remote-access

我的目标是通过检查访问日志文件将所有IP登录到我的Web服务器。 nginx日志文件如下所示:

.employee {
  flex: 1;
  min-width: 0%;
  flex-basis:30%;
  height:auto;
  border:1px solid;
  flex-direction: column;
  word-wrap: break-word;
}

在本地运行:

ls -la /var/log/nginx/access.log*
/var/log/nginx/access.log
/var/log/nginx/access.log1
/var/log/nginx/access.log2
...
...

尝试从远程主机运行:

sudo grep loging /var/log/nginx/access.log*

返回:

ssh remote-server 'sudo grep login /var/log/nginx/access.log*'

知道我做错了吗?

2 个答案:

答案 0 :(得分:0)

你试过逃避星号吗?

ssh remote-server 'sudo grep login /var/log/nginx/access.log\*'

答案 1 :(得分:0)

我发现一种可能性是通过bash调用命令作为示例:

ssh user@host '/bin/bash -c "grep /etc/*"' 

实际上,这不是ssh的问题,问题在于sudo确实接受了参数,请检查here