I have a program like this:
ssh -q harigm@8.19.71.238 exit echo "output value -->$?"
In the above code, I am trying to SSH to the remote server, and tries to check if I can connect or not. I have few servers, which is password less is activated and few servers for which passwords are still not yet deactivated. So my concern, if there is a password, it will get stuck in the same screen asking for the password and it will be there for infinite time, without Exit logic.
Question : How to implement the timers for the above code, and if it stays in the same screen asking for the password. and exit with some error code
2) When I execute the above code, i get the following error codes:
127 -- > I guess its for success 225 -- > for any error.
are there any other error codes other than above?
Advertisement
Answer
You could wrap the call to ssh
using the timeout
command. The timeout
command exits with code 124 if a timeout occurs.
timeout 10s ssh -q harigm@8.19.71.238 exit if [ $? -eq 124 ]; then echo "Timeout out" fi
Or, as Vorsprung has commented on your question (as I was looking up the man page!):
ssh -oPasswordAuthentication=no -q harigm@8.19.71.238 exit
which will disallow interactive password authentication. You’d then have to check the exit code.