How do I create and copy the SSH key from the Controller Pi to the Pi Zeros to allow passwordless logins?

Assuming you haven't already created a public/private key on the Controller Pi run the following.

ssh-keygen -t rsa

Newer Raspberry Pi OS installations allow you to use your own username so please replace the "pi" user in the following commands with your username.

Press enter to save the key at the standard location (/home/pi/.ssh/id_rsa), you can optionally enter a passphrase but you will need to enter this every time you access the key.

Copy your public SSH key to the Pi Zeros 

for I in 1 2 3 4; do echo "Copying to p$I.local";ssh-copy-id pi@p$I.local;done

For each Pi you will need to type "yes" to connect if you haven't already previously logged into the Zero from the Controller using SSH and then enter your password.

You will now be able to log into the Pi Zeros using SSH without any key

ssh pi@p1.local

To run a command on all Pi Zeros sequentially you can reuse a portion of the above command.

for I in 1 2 3 4; do echo -n "p$I:";ssh pi@p$I.local uptime;done

You should see something similar to the output below which shows how long each Pi Zero has been booted, number of users, etc.

p1: 21:43:32 up 24 min,  3 users,  load average: 0.01, 0.02, 0.00
p2: 21:43:33 up 6 min,  2 users,  load average: 0.07, 0.08, 0.05
p3: 21:43:33 up 5 min,  2 users,  load average: 0.00, 0.07, 0.04
p4: 21:43:34 up 4 min,  2 users,  load average: 0.02, 0.11, 0.06

You cannot comment on this entry