SSH connections and passwords

All ssh connections in MacHg need to be non-interactive; and due to the very strong security built into ssh, the ssh authors have specifically and intentionally made it very hard to pass passwords to an ssh session.

It turns out that it's a security risk to pass the password through to another tool by embedding it in the URL. This is due to the fact that if there is anyone else on your machine, they could simply read the password from listing the processes running on the machine. For this reason the creators of ssh have tried to make it very difficult to pass a password or accept passwords through the normal channels, thus forcing clients to use more secure channels. The gory details are in the thread here.

The above, together with the fact that all MacHg connections need to be non-interactive, means you need to set up your private ssh keys on your machine and add your public key to the authorized_keys file on your account on the server in such a way that when logging into the server you are never prompted for a password. (If your keys still require a password, you might want to investigate ssh-agent. One set of instructions for setting up ssh and ssh-agent is here.)

In any case, you can test the login to your machine via a normal ssh session in the terminal. If you are prompted for your password (other than the once via ssh-agent) then your login is interactive and will not work correctly with ssh. Thus, change you ssh keys to be passwordless or use ssh-agent.