I think this patch will fix the problem when attempting to ssh-copy-id to a hostname ending in a colon. Hope it works. Karl.
--- ssh-copy-id 2008-08-20 16:35:57.000000000 +0930
+++ /usr/bin/ssh-copy-id 2008-05-15 04:37:25.000000000 +0930
@@ -38,15 +38,7 @@
exit 1
fi
-set -ex
-
-if [ `echo "$1" |grep -c \: -` ]; then
- export TargetHostname=`echo $1 |sed -e "s/://g"`
-else
- export TargetHostname=$1
-fi
-
-{ eval "$GET_ID" ; } | ssh $TargetHostname "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1
+{ 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:
Attachment:
signature.asc
Description: This is a digitally signed message part