我需要在远程 Linux 服务器上运行 ssh 脚本来添加用户,但我所做的一切都不起作用。
我组成了2个参数的用户名,然后尝试制作密码,第一部分是一个设置的字符串,第二部分也是一个参数。我正在使用 Jenkins SSH 插件通过 ssh 运行脚本。第一部分,useradd 有效,因为我禁用了管理员用户的 sudo 密码。但是 passwd 不想工作...
我目前正在尝试:
sudo useradd $FIRSTPART1_$SECONDPART2
echo -e 'PASSWORD_$SECONDPART2\nPASSWORD$SECONDPART2\n' | sudo passwd $FIRSTPART1_$SECONDPART2
我怀疑问题出在彼此之后的双参数。
有什么想法吗?
最佳答案
尝试在 echo 命令中使用双引号而不是单引号。
此外,如果不使用 ssh 插件,您可以简单地在构建机器上本地执行 bash 脚本(例如,在自定义构建步骤中,您可以提供/编写脚本),前提是您有 ssh 登录没有启用密码(例如通过 key ),这样 jenkins 用户可以登录到目标:
# Login
ssh user@remote << ENDSSH
# use normal commands as you would on shell or a local script;
# any variables set previously in this bash script remain valid though
sudo useradd $FIRSTPART1_$SECONDPART2
echo -e "PASSWORD_$SECONDPART2\nPASSWORD$SECONDPART2\n" | sudo passwd $FIRSTPART1_$SECONDPART2
ENDSSH
关于linux - 使用 Jenkins 在远程 linux 上创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33499528/