Cree muchos usuarios ssh con PK en muchos hosts

Cree muchos usuarios ssh con PK en muchos hosts

Quiero agregar uno o muchos usuarios nuevos con sus claves públicas en muchos hosts (donde tengo root ssh sin contraseña). Claro que puedo hacerlo manualmente. ¿Hay alguna manera de hacerlo aromáticamente?

Respuesta1

Hay muchas formas de hacerlo mediante programación. He escrito scripts para enviar usuarios y credenciales/claves desde un servidor de control a otros sistemas bajo demanda, y software de automatización como Puppet, Chef y CFEngine también lo hacen mediante un mecanismo de extracción.

Probablemente también puedas vincularlo con LDAP. (https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap#653793)

Respuesta2

init-user-on-host() # <username> <id_rsa.pub file> <remote host>
{
    cat $2 | ssh root@$3 \
        "set -x; adduser --quiet --gecos '' --disabled-password $1;" \
        " su -l $1 -c 'mkdir -p .ssh;" \
        "cat >> .ssh/authorized_keys;" \
        "ls -RA; cat .ssh/authorized_keys' "
    ssh $1@$3 echo OK
}

init-users-on-hosts()
{
    for u in $users; do
        for h in $hosts; do
            init-user-on-host $u $u.id_rsa.pub $h
        done
    done
}

información relacionada