When using the command line on my Mac to connect to a TransIP server in the Netherlands using
sftp domain.nl@domain.nl.transurl.nl domain.nl@domain.nl.transurl.nl's password: Connected to domain.nl@domain.nl.transurl.nl. sftp> ls backups logs private subdomains tmp www sftp>
things work out fine. I am asked for the password after loads of checks and then I can log in and do stuff.
FileZilla & Cyberduck Fail
When I try to do this using Filezilla, or even Cyberduck for that matter, it fails to connect
Status: Connecting to domain.nl.transurl.nl... Response: fzSftp started, protocol_version=9 Command: open "domain.nl domain.nl @domain.nl.transurl.nl" 22 Error: Could not connect to server Status: Disconnected from server Status: Connecting to domain.nl.transurl.nl... Response: fzSftp started, protocol_version=9 Command: open "domain.nl domain.nl @domain.nl.transurl.nl" 22 Error: Could not connect to server
What it looks like to me is that it is having issues with using sub.sub.domain.nl as the domain to connect to. When I try the ip address instead I do not have any luck either though so it must be something else.
Command Line SFTP Check
When I do a very verbose from the command line I see that I get connected real quick
➜ ~ sftp -v domain.nl@domain.nl.transurl.nl OpenSSH_7.9p1, LibreSSL 2.7.3 debug1: Reading configuration data /Users/jasper/.ssh/config debug1: /Users/jasper/.ssh/config line 3: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 48: Applying options for * debug1: Connecting to domain.nl.transurl.nl [ccc.ccc.ccc.ccc] port 22. debug1: Connection established.
The check in ssh_config does allows the choice for LANG LC_*
Host * SendEnv LANG LC_*
and the main block in /Users/jasper/.ssh/config is
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa ServerAliveInterval 120
So that is all pretty standard and not out of the ordinary.
SFTP VVV
When we check using very very verbose we see pretty much the same, only a different ip address and information on remote software used which is SshReverseProxy. This you see post initial rapid connection:
➜ ~ sftp -vvv domain.nl@domain.nl.transurl.nl OpenSSH_7.9p1, LibreSSL 2.7.3 debug1: Reading configuration data /Users/jasper/.ssh/config debug1: /Users/jasper/.ssh/config line 3: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 48: Applying options for * debug2: resolving "domain.nl.transurl.nl" port 22 debug2: ssh_connect_direct debug1: Connecting to domain.nl.transurl.nl [cc.cc.ccc.c] port 22. debug1: Connection established. debug1: identity file /Users/jasper/.ssh/id_rsa type 0 debug1: identity file /Users/jasper/.ssh/id_rsa-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_7.9 debug1: Remote protocol version 2.0, remote software version SshReverseProxy debug1: no match: SshReverseProxy debug2: fd 5 setting O_NONBLOCK debug1: Authenticating to domain.nl.transurl.nl:22 as 'domain.nl'
Again nothin out of the ordinary. So we were still confused.
SSH Key Storage Need
I then decided to try Transmit and it worked out of the box. So somehow Transmit can deal with the TransIP’s server software and or protocol and FileZilla nor Cyberduck could. Decided to buy the $45 USD license right away!
And then …. I had a chat with TransIP on it all and found out that when you use quick connect in Filezilla you are asked to store the ssh key. This is needed despite the fact that you can access with a password. And that is because they work with a reverse proxy and that demands the storage of an ssh key on initial connect. When I connected with Transmit I made a Filezilla quick like connect and that allowed the storage / verification of the stored ssh key.
I have this almost the exact same issue. Filezilla refuses to connect to one server with a key file. I hadn’t thought of cyberduck, but that does work for me.
SSH works
SFTP works
Filezilla – Error: Could not connect to server
Cyberduck works