( It would mean the world if you would consider following @colhountech on twitter. It won’t cost you anything but it gives me great encouragement to continue writing these posts)
This had me for a couple of minutes and a google search did not give me the answer, so I’m dropping it here.
I can sucessfully ssh into a new ubuntu20 vm, but I can’t ssh-copy-id
This works!
ssh -l username username@hostname
Password: ********
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-70-generic x86_64)
But this doesn’t work:
ssh-copy-id username@hostname
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/username/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: ERROR: ssh: connect to host hostname port 22: Connection refused
why? Answer below
First, I tried PasswordAuthentication
One person recommend
Try changing the PasswordAuthentication to yes
Edit ssh config:
sudo nano /etc/ssh/sshd_config
Change this line:
PasswordAuthentication no
to
PasswordAuthentication yes
Restart daemon:
sudo systemctl restart sshd
Do ssh-copy-id:
ssh-copy-id someuser@<my-ip>
This didn’t work so I reverted changes to ssh_config
and restarted daemon.
I turned of the ufw firewall temporarily to see if it was a firwall issue
sudo ufw disable
Nope, still not working, better turn the firewall back on:
sudo ufw enable
The Solution is that I have both IP4 and IPV6 enabled, so I just had to use the IPV4 ip address to copy the ssh id:
ssh-copy-id username@192.168.2.x
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/username/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Password: ************
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'username@192.168.2.x'"
and check to make sure that only the key(s) you wanted were added.
Edit: this issue is probably related to a more recent posts on WSL not resolving DNS hostnames correctly on local network. See this post for possibly a better solution