6

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 Answers2

28

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.

Ex.

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
pa4080
  • 30,621
steeldriver
  • 142,475
5

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