文章目录
Jenkins设置SSH免登录访问远程服务器
使用SSH Agent插件,可以在Jenkins Pipeline中SSH免登录访问远程服务器来执行命令。
安装SSH Agent插件
SSH Agent插件可以用来在Jenkins Pipeline中SSH访问远程服务器。
https://wiki.jenkins.io/display/JENKINS/SSH+Agent+Plugin
安装插件:
- 用管理员账号登录Jenkins
- 点击Manage Jenkins -> Manage Plugins
- 打开Installed页面,搜索ssh,查看SSH Agent插件是否已安装
- 如果还没有安装,则打开Avaiable页面,搜索ssh,选择SSH Agent,点击Download now and install after restart
- 勾选Restart Jenkins when installation is complete and no jobs are running
- 等待Jenkins重启成功
- 再次用管理员账号登录Jenkins验证插件是否安装成功
以jenkins
账号生成SSH keys
Jenkins进程运行在jenkins
的Linux账号上,因此需要用jenkins
账号来生成SSH keys。如果用其它Linux账号生成SSH keys,会遇到Permission Denied的错误。
可通过
ps -ef|grep jenkins
查看Jenkins进程。
而jenkins
账号没有bash (见下方的/bin/false),不能直接登录。
cat /etc/passwd | grep jenkins
# jenkins:x:473:474:Jenkins Automation Server:/var/lib/jenkins:/bin/false
因此在切换到jenkins
时需要指定bash为/bin/bash
:
# 切换到jenkins账号
sudo su -s /bin/bash jenkin