I changed my SSH port in the /etc/ssh/sshd_config file and then restarted the ssh service. I implemented fail2ban and updated the port to my SSH under that config. I also then implemented the UFW firewall and allowed incoming connections to my new SSH port.

However, when I try and login with my SSH key using ssh -i /Users/myuser/.ssh/vpsssh user@555.555.555.555 it's trying to connect to port 22 instead of the defined port I have.

  • 2
    Server and client do not about each other automatically. They both use the default port 22, unles is changed, on sshd_config for server, or specified on command for cliente like here – bistoco Jan 22 '19 at 15:35
  • 1
    They could be trying to login to an Ubuntu server from a Windows PC, which I think is still on topic. – Arronical Jan 22 '19 at 17:13
  • Is there a reason you're using a different key for each host you connect to? – R.. GitHub STOP HELPING ICE Jan 23 '19 at 17:41

You can specify a non-default port on the ssh client command line using the -p option. From man ssh:

 -p port
         Port to connect to on the remote host.  This can be specified on
         a per-host basis in the configuration file.

You may wish to put both the port number and the identity file location for the host in a ~/.ssh/config file so that they don't need to be specified every time on the command line.


Host myremotehost
  Hostname      555.555.555.555
  User          user
  Port          20002
  IdentityFile  /Users/myuser/.ssh/vpsssh

Then you will be able to use:

ssh myremotehost

Note that ssh accepts commands in the URI form, such as ssh://user@host.com:<port>. Based on that, what I do when logging in to a remote server with a private key is the following:

ssh -i ~/.ssh/id_rsa ssh://myuser@domain_name.com:2222

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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