≡ Menu

Use ssh-copy-id with an OpenSSH Server Listening On a Different Port

My OpenSSH server listening on TCP port number 2222. How can I use ssh-copy-id with an sshd server with listening on a different port on a Linux or Unix-like systems?

The ssh-copy-id is a shell script that uses ssh command to log into a remote machine using a login password to install your public key in a remote machine’s authorized_keys. The script also secure the remote user’s home, ~/.ssh, and ~/.ssh/autho-rized_keys files by changing the permissions.


The syntax is as follows to install ssh-keys:

ssh-copy-id user@server-name-here
ssh-copy-id -i /path/to/identity-file user@server-name-here


Install key for server42, enter:

ssh-copy-id vivek@nas01

Install key for for OpenSSH server listen on IP port 22 (default), enter:

ssh-copy-id nixcraft@

Sample outputs:

/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
nixcraft@'s password: 
Number of key(s) added:        1
Now try logging into the machine, with:   "ssh 'nixcraft@'"
and check to make sure that only the key(s) you wanted were added.

Using ssh-copy-id with an SSH server listening on a different port # 2222

If your remote server listen on a different port than 22, you need to use the following syntax:

## old syntax. only valid for older ssh-copy-id (see below for new syntax) ##
ssh-copy-id '-p PORT-NUMBER-HERE user@server-name-here'
ssh-copy-id '-p 2222 vivek@server1.cybercit.biz'
ssh-copy-id '-p 2222 nixcraft@'


## new syntax ##
ssh-copy-id -p 2222 nixcraft@

Sample outputs:

Fig.01: Using ssh-copy-id with an SSH server listening on a different port # 2222

Fig.01: Using ssh-copy-id with an SSH server listening on a different port # 2222

Test it

Now try logging into the machine, with:

ssh -p 2222 nixcraft@

Sample outputs:

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-46-generic x86_64)
 * Documentation:  https://help.ubuntu.com/
Last login: Sat Mar  7 17:55:48 2015 from viveks-macbook-pro.local

See ssh-copy-id command man page for more info.

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 3 comments… add one }
  • David Ramirez March 8, 2015, 4:44 am

    Hello – great tutorial ! However I would suggest to change “listing” to “listening” in the title.

  • Niels June 24, 2015, 8:38 am

    The second example code using the “-i identityfile” flag isn’t explained further. I think it’s a good idea to either delete that line or explain it further.


Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: ,