You should always enclose the command given to the ssh client for remote executing!
myuser@srv-local:~$ CMD="cat /etc/*release";ssh root@1.1.1.1 "$CMD" Gentoo Base System release 2.0.3 myuser@srv-local:~$ CMD="cat /etc/*release";ssh root@1.1.1.1 $CMD cat: /etc/lsb-release: No such file or directory cat: /etc/os-release: No such file or directory myuser@srv-remote:~$
You see the difference! The second line the special character “*” asteriks will be expanded by the shell locally and then the result will be send to the remote server for execution. In the second case the remote server will receive a command “cat /etc/lsb-release /etc/os-release” (because our local system has there two files) and not what you want “cat /etc/*release” on the remote.
We use variables above, because we want to point out
the problem, which often occurs when you use ssh remote command execution in a script.