Login with SSH authorized key with changed SSH port

8,489

Solution 1

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

Solution 2

Note that ssh accepts commands in the URI form, such as ssh://[email protected]:<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
Share:
8,489
user1048676
Author by

user1048676

Updated on September 18, 2022

Comments

  • user1048676
    user1048676 over 1 year

    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 [email protected] it's trying to connect to port 22 instead of the defined port I have.

    • bistoco
      bistoco over 5 years
      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
    • Arronical
      Arronical over 5 years
      They could be trying to login to an Ubuntu server from a Windows PC, which I think is still on topic.
    • R.. GitHub STOP HELPING ICE
      R.. GitHub STOP HELPING ICE over 5 years
      Is there a reason you're using a different key for each host you connect to?
  • Giacomo Alzetta
    Giacomo Alzetta over 5 years
    Probably useful to many when you start defining that kind of configuration: How do I configure SSH so it dosen't try all the identity files automatically?.
  • badc0de
    badc0de over 2 years
    This answer over at "Unix Linux S.O." unix.stackexchange.com/questions/75668/… explains that URI is actually not accepted by SSH. I have tried this in my updated Ubuntu 20.04 and it didn't work so I don't think this answer is valid.