I've got SSH passwordless set up, however it prints the MoTD when it logs in. Is there anyway to stop that happening from the client side?
I've tried ssh -q
but that doesn't work. I don't want to use ~/.hushlogin
nor do I want to change the server set up. The only thing that can work is to quiet all output, with >/dev/null 2>&1
. However, I don't want to ignore errors in case there actually is a problem. Even doing >/dev/null
doesn't work, since ssh
seems to print the motd to the stderr.
Update & reasoning I'm running backup in a cron. I don't want to get a cron email unless an error has occured. However if the motd is printed I'll get an email all the time.
I want to keep the motd being printed because that has legal implications. The motd says "unathorized access prohibited". You need to have this sort of statement in there to legally prevent people from access it (like a no trespassing sign). Hence I don't want to blanket disable it all the time.
Best Answer
I'm not sure why you have an aversion to doing this correctly - either on the server a la
and
Or adding ~/.hushlogin for each user.
Hint, for ~/.hushlogin, add it to /etc/skel so new user home directories are created with the file.
Update:
Without more information about your backup cron job, my only other suggestion is to redirect the output of the command to a file (or let cron capture it in email) and the output of the ssh session to /dev/null. Something like:
Or
I'd have to play around with the commands a bit, but that should get you started.