在許多主機上創建許多具有 PK 的 ssh 用戶

在許多主機上創建許多具有 PK 的 ssh 用戶

我想在許多主機上新增一個或多個新使用者及其公鑰(我有無密碼 root ssh)。當然我可以手動製作。有沒有辦法讓它芳香起來?

答案1

有很多方法可以透過程式設計來完成它。我編寫了腳本來根據需要將使用者和憑證/金鑰從控制伺服器推送到其他系統,並且像 Puppet、Chef 和 CFEngine 這樣的自動化軟體也可以使用拉機制來完成此操作。

您或許還可以將其與 LDAP 結合起來。 (https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap#653793

答案2

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
}

相關內容