Is there a way to log into a machine using SSH without password?

Solution 1:

Key-based authentication is the way to go. Not only is it easier than password auth when configured, but it is much more secure and is easily integrated into automated scripts. There is tons of literature out there on the subject -- to get you started:

https://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html

Solution 2:

One less-common method is to authenticate via kerberos. If all your machines are in the same kerberos domain, then SSH can get your authentication information via GSSAPI from the kerberos subsystem.

The setup required is pretty complex though. This is certainly not something that you would choose because it is easier then key-based authentication.

  • http://www.visolve.com/security/ssh_kerberos.php

On many systems SSH uses PAM for authentication. As such, there may be other methods you can used for authentication as well. Perhaps RSA tokens and so on.

Solution 3:

Consider using "host-based authentication" (.rhosts)