commands: improve function to detect if ssh is up

To prevent SSH errors when probing a node, the nodeup() function now
receives an identification string, sends an identification string,
receives a list of available key exchange algorithms, and then closes
the socket.

If the identification string is not sent before closing the socket,
sshd logs the following error on the node:
"Did not receive identification string from 192.168.xxx.xxx"

Similarly, when the socket connection is severed after sending the
identification string, sshd logs this:
"fatal: Read from socket failed: Connection reset by peer"

From an IDS perspective, these types of SSH errors are indicative of
a scan attempt and will set off alarms.

By following the above steps of the SSH protocol, probing a node
only emits an informative log:
"Connection closed by 192.168.xxx.xxx"