我正在尝试使用4个覆盆子pis构建覆盆子pi群集。 我正在编写一个脚本来向系统添加新用户,这样就可以在所有4个Pis上添加用户,而无需多次输入。我使用的命令是adduser,我使用ssh将用户添加到所有4个Pis上。这就是脚本中的那一行:
echo `ssh pi@10.10.10.13 "sudo adduser --shell /bin/bash user1"`
这是我用来添加新用户的行。但是,此后的命令是我需要更改密码的地方。如果我使用
sudo passwd user1
在脚本中,对于每个Pi,它会提示用户输入密码4次。我不希望这种情况发生。有没有办法让用户输入一次密码并将其存储在变量中并将其提供给passwd命令?
答案 0 :(得分:0)
这是一种通过SSH在远程端使用sudo
执行大量命令的方法(如果不能选择以root
登录):
#!/bin/bash
ssh user@host 'sudo bash -es' <<EOF
command 1
command 2
EOF
-e
“失败时失败”(可选)。
-s
从STDIN读取。
(我试了一下,似乎正常工作。)
修改强>
我尝试使用-x
(我喜欢反馈)但它使输出乱码,可能是因为STDIN和STDERR“不同步”(可以用2>&1
“解决”)。 / p>
答案 1 :(得分:0)
假设Pi上仍然没有“useradd”,我建议你开始研究adduser的命令行参数?
adduser <username> -p <password> ...