Macfusion: Can’t mount SSHFS directory, “Authentication has failed.”

sftpsshunix

I have a problem with Macfusion. After following the instructions here: http://www.kevinfodness.com/using-macfusion-for-sftp-connections-on-osx, I set up an SSHFS connection in Macfusion, and after about 5 seconds got the error "Could not mount filesystem: Authentication has failed."

It seems to me that the relevant line in the logfile is "debug1: read_passphrase: can't open /dev/tty: Device not configured". I can't tell if this is a problem with my Macbook or with the Ubuntu server. I have root access on both machines.

The anonymized log is below:

(SSHServerFS, _______, 12/3/14, 13:05) debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to _______ [_______] port _______.
debug1: Connection established.
debug1: identity file /Users/_______/.ssh/id_rsa type -1
debug1: identity file /Users/_______/.ssh/id_rsa-cert type -1
debug1: identity file /Users/_______/.ssh/id_dsa type -1
debug1: identity file /Users/_______/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
(SSHServerFS, _______, 12/3/14, 13:05) Mount time out detected. Killing task <NSConcreteTask: 0x400171200> pid 17137
(MFClient, _______, 12/3/14, 13:05) Note status changed for fs <MFClientFS: 0x400886d20> (_______) to Failed to Mount
(SSHServerFS, _______, 12/3/14, 13:05) debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA _______
debug1: Host '[_______]:_______' is known and matches the RSA host key.
debug1: Found key in /Users/_______/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
(SSHServerFS, LACO02 SSH, 12/3/14, 13:05) debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/_______/.ssh/id_rsa
debug1: Trying private key: /Users/_______/.ssh/id_dsa
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: Device not configured
(SSHServerFS, _______, 12/3/14, 13:05) debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
Permission denied (publickey,password).
(SSHServerFS, _______, 12/3/14, 13:05) mount_osxfusefs: failed to mount /Volumes/LACO02 SSH@/dev/osxfuse0: Socket is not connected
(SSHServerFS, _______, 12/3/14, 13:06) mount_osxfusefs: failed to mount /Volumes/LACO02 SSH@/dev/osxfuse1: Socket is not connected

See this, what do?

Best Answer

Mostly two things happen when key authentication is not working:

  1. Your public key is not in the destination user's authorized_keys file

  2. OpenSSH server is very picky when it comes to permissions:

    • The destination user's .ssh directory must belong to the destination user and needs 700 permissions. (drwx------)
    • The destination user's authorized_keys file within the .ssh directory needs 600 permissions. (rw-------)

Additionally, take a look at the destination SSH server configuration:

...
#StrictModes yes
...
#RSAAuthentication yes
#PubkeyAuthentication yes
...
AuthorizedKeysFile      .ssh/authorized_keys
...
#PasswordAuthentication no
#PermitEmptyPasswords no
...

With these options set, it works on my side...