问题现象参见:
https://bugzilla.redhat.com/show_bug.cgi?id=1045191
主要原因是另一台主机的SHELL不是sh或者bash造成的
解决方法:
修改/usr/bin/ssh-copy-id,大约41行:
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/.ssh/authorized_keys >/dev/null 2>&1 || true)" || exit 1
改成
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1