gpt4 book ai didi

linux - 为每个服务器上的多个用户生成 ssh-key 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:54 29 4
gpt4 key购买 nike

我必须在其中一台服务器上创建 60 个 ssh 用户。我使用小型用户创建脚本创建了用户,该脚本循环遍历用户列表中的每个用户。我正在尝试运行类似的脚本,该脚本将为每个用户生成 sshkeys。

#!/bin/sh
for u in `cat sshusers.txt
do
echo $u
sudo su - $u
mkdir .ssh; chmod 700 .ssh; cd .ssh; ssh-keygen -f id_rsa -t rsa -N '';
chmod 600 /home/$u/.ssh/*;
cp id_rsa.pub authorized_keys
done

当我运行这个脚本时,它基本上登录到所有 60 个用户帐户,但没有创建。 ssh 目录或生成无密码 ssh.key。任何解决此问题的想法将不胜感激!谢谢

最佳答案

sudo su - $u 启动一个新的 shell;在该 shell 退出之前,不会运行后面的命令。相反,您需要使用由 sudo 启动的单个 shell 运行命令。

while IFS= read -r u; do
sudo -u "$u" sh -c "
mkdir .ssh
chmod 700 .ssh
cd .ssh
ssh-keygen -f id_rsa -t rsa -N ''
chmod 600 '/home/$u/.ssh/'*
cp id_rsa.pub authorized_keys
"
done < sshusers.txt

关于linux - 为每个服务器上的多个用户生成 ssh-key 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38471643/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com