Na maioria dos sistemas ssh-copy-id
é um script de shell simples que cria uma lista de IDs locais no sistema executando o software ssh client, conecta-se ao sistema remoto usando ssh, solicita ao usuário autenticar e copia os ids para o authorized_keys
arquivos no sistema remoto.
A última parte do script se parece com isso pelo menos em openssh-6.4p1
no meu sistema Fedora 20:
printf '%s\n' "$NEW_IDS" | ssh "$@" "
umask 077 ;
mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ;
if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi" \
|| exit 1
Portanto, para que ssh-copy-id
funcione, você precisará de um shell remoto restrito que permita especificar não apenas os comandos que o usuário pode executar, mas também os arquivos que ele pode acessar (usando o redirecionamento de saída). Eu não conheço nenhum shell restrito que permita essas personalizações.