Você precisará excluir caracteres que não deseja que seu shell local interprete, ou seja, " '" e " $ "
Em vez de:
ssh User@Server " line='last -F | grep -vE '^(svc_qual|s594998a|reboot|s823850a|s825722a|s559857a|s603256a|root|s823656a|s230281a|s638181a|s835786a)' | head -1 ';login='echo $line | awk '{print $1}''dm;user='getent passwd $login' ;echo $line ; echo $user "
Faça:
ssh User@Server " line=\'last -F | grep -vE '^(svc_qual|s594998a|reboot|s823850a|s825722a|s559857a|s603256a|root|s823656a|s230281a|s638181a|s835786a)' | head -1 \';login=\'echo \$line | awk '{print $1}'\'dm;user=\'getent passwd \$login\' ;echo \$line ; echo \$user "
Você também pode optar por colocar aspas simples em todo o comando ssh. Em seguida, você só precisa alterar as aspas simples do comando awk
e grep
entre aspas duplas:
ssh User@Server ' line='last -F | grep -vE "^(svc_qual|s594998a|reboot|s823850a|s825722a|s559857a|s603256a|root|s823656a|s230281a|s638181a|s835786a)" | head -1 ';login='echo $line | awk "{print $1}"'dm;user='getent passwd $login' ;echo $line ; echo $user '