For the most part, the default port for SSH access into a Linux machine is 21. However, many people change this default in the name of security, meaning that for most of our function usage, we simply need to use the -p port number switch when trying to access with that remote machine.
However, interestingly enough, the -p switch was never bundled with the useful ssh-copy-id function, meaning that should you try something like this:
ssh-copy-id -p221 -i ~/.ssh/id_rsa.pub username@host
you will get a reply back reading: Bad port ‘umask 077; test -d .ssh || mkdir .ssh ‘ cat >> .ssh/authorized_keys’.
Not exactly encouraging.
However, there is actually a simply way to fix this and use ssh-copy-id when interacting with a non-default port 21 machine. Simply enclose your port declaration together with the host name within quotation marks!
So the correct usage would now look like this:
ssh-copy-id -i ~/.ssh/id_rsa.pub ‘-p 221 username@host’
And damn it, it actually works! Nice.
Related Posts :
SCP is a powerful utility that allows us to securely copy files between remote machines. What ma ...
Although port 21 is the default port used for SSH connections and thus SCP, most of the time you ...
If you have a closed machine that doesn't allow MySQL connections from the outside world but doe ...
I often need to pull down a copy of a live MySQL database instance for development work on my lo ...
When attempting to copy a non-empty directory in Ubuntu using the cp command, you will be presen ...






