Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know ssh is to create a secure shell connection to a machine, and we call ssh username@ip_address to login the machine.

Is there a way that I won't need to enter the password when connecting via SSH, or let's say SCP, or a run a command using SSH on a remote machine?

I know there are ssh-keys, which allow particular users to login without entering passwords.

Is there any other way to achieve so, which doesn't involve keys? Like some change in the ssh configuration?

share|improve this question

migrated from Nov 4 '11 at 19:45

This question came from our site for professional and enthusiast programmers.

Why are you opposed to using keys? That's the obvious solution, that's been in use and is tested and works. – Rob Nov 8 '11 at 17:36

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:

share|improve this answer

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.

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.

share|improve this answer

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

share|improve this answer
Can yo elaborate on how that works please? – slhck Nov 4 '11 at 23:30

The SSH protocol is meant to have an authentication of some sort. However, there are few things you can do to get around it.

  • Use a password like normal.
  • Set up an RSA SSH Key on the user machines that want to use your server.
  • Set up your server with a .rhosts or an hosts.equiv file so that it will expect requests from your user machines.
  • Use an auto-typer to enter your passwords for you. There are Bash, Batch, and GUI programs out there, and some system adminstrators roll that way.
share|improve this answer

sshpass automates entering in a password for ssh.

Sshpass is a tool for non-interactivly performing password authentication with SSH's so called "interactive keyboard password authentication". Most user should use SSH's more secure public key authentiaction instead.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.