Els usuaris de linux que fem servir també un mac, hem de tenir en compte que el paquet ssh-copy-id no existeix com a paquet…. així que podem fer un inventillu…
Obrim terminal i creem un nou fitxer:
sudo nano /usr/bin/ssh-copy-id
On hi copiem el seguent codi:
#!/bin/sh
# Shell script to install your public key on a remote machine
# Takes the remote machine name as an argument.
# Obviously, the remote machine must accept password authentication,
# or one of the other keys in your ssh-agent, for this to work.
ID_FILE=»${HOME}/.ssh/id_rsa.pub»
if [ «-i» = «$1» ]; then
shift
# check if we have 2 parameters left, if so the first is the new ID file
if [ -n «$2» ]; then
if expr «$1» : «.*.pub» > /dev/null ; then
ID_FILE=»$1″
else
ID_FILE=»$1.pub»
fi
shift # and this should leave $1 as the target name
fi
else
if [ x$SSH_AUTH_SOCK != x ] && ssh-add -L >/dev/null 2>&1; then
GET_ID=»$GET_ID ssh-add -L»
fi
fi
if [ -z «`eval $GET_ID`» ] && [ -r «${ID_FILE}» ] ; then
GET_ID=»cat ${ID_FILE}»
fi
if [ -z «`eval $GET_ID`» ]; then
echo «$0: ERROR: No identities found» >&2
exit 1
fi
if [ «$#» -lt 1 ] || [ «$1» = «-h» ] || [ «$1» = «–help» ]; then
echo «Usage: $0 [-i [identity_file]] [user@]machine» >&2
exit 1
fi
{ eval «$GET_ID» ; } | ssh ${1%:} «umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys» || exit 1
cat <<EOF
Now try logging into the machine, with «ssh ‘${1%:}'», and check in:
.ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.
EOF
Ho guardem amb ctrl+x, sortim i donem permisos al fitxer:
$ sudo chmod +x /usr/bin/ssh-copy-id
A partir d’aquí ja ho podem utilitzar com amb un linux
$ ssh-copy-id usuario@host
Salut !!