linux - 使用 Jenkins 在远程 linux 上创建用户

标签 linux ubuntu jenkins ssh

我需要在远程 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/

相关文章:

shell - Ubuntu crontab 编辑

java - 为 Jenkins 插件的 Jelly 复选框动态创建变量

java - jenkins 完成成功而 make 命令失败

laravel - 获取当前用户

linux - Ubuntu 16.04 apt-get - 无法解析 'proxy_server'

linux - 为什么我的 awk 结果与示例不同?

c++ - 启用共享库

macos - 如何找到jenkins的初始密码?

linux - 安装Centos 7时出现未知错误

c - gnu syslog()、openlog() 和 closelog() 是线程安全的吗?