gpt4 book ai didi

shell - 远程创建用户名和设置密码

转载 作者:行者123 更新时间:2023-12-04 19:20:06 24 4
gpt4 key购买 nike

我正在运行生成强密码并将输入作为用户名并调用的脚本
创建用户名和密码的远程脚本。

脚本是这样的

USERNAME=$1

PASS=`cat /dev/urandom|tr -dc 'a-zA-Z0-9-!@#%()+{}$|:?='|fold -w 10 | head -n 1| grep -i '[!@#%()+{}|:$?=]'`

ssh -i /home/ubuntu/test.pem ubuntu@192.168.10.32 "sudo /bin/bash /root/useradd.sh $USER $PASS "

它工作正常,如果密码不包含任何额外的字符,如 | , & 和 $ 。

例如
ssh -i /home/ubuntu/test.pem  ubuntu@192.168.10.32 "sudo /bin/bash /root/useradd.sh testuser1 12345 "

它使用强密码失败,如下所示。
ssh -i /home/ubuntu/test.pem  ubuntu@192.168.10.32 "sudo /bin/bash /root/useradd.sh testuser1 v|9q4TT8={ "

是否有任何解决方法。

问候

最佳答案

使用附上" "要使用强密码,bash 将处理 " " 之间的任何字符作为字符串。

ssh -i /home/ubuntu/test.pem ubuntu@192.168.10.32 "sudo /bin/bash /root/useradd.sh \"$USER\" \"$PASS\" "

并且不要忘记转义内部引号。即添加 \"

关于shell - 远程创建用户名和设置密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23003267/

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