Believel / blog

记录前端技术文档

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jenkins使用publish over ssh插件连接应用机器时,报Message [Auth fail]的问题

Believel opened this issue · comments

centOS上安装jenkins后,由于jenkins会自动的创建一个用户jenkins

  1. 更改用户密码
// 安装之后如果没有更改密码的话,切换到此用户会报错,相当于没有激活jenkins
passwd jenkins 
// 我更改为了: jenkins123
  1. 执行切换到jenkins用户
su jenkins

  1. 切换到/etc/passwd,把jekins中的/bin/false改成/bin/bash
  2. 这时再次执行:su jenkins
  3. 继续往下处理
    • vim ~/.bash_profile
    • 添加如下内容
    export PS1='[\u@\h \W]\$'
    
    // PS1:命令行提示符环境变量
    • 最后再刷新.bash_profile文件,使其起作用
    source ~/.bash_profile
  4. 成功切换到jenkins用户

  • 查看当前的jenkins所在目录
  1. 执行ssh-keygen -t rsa生成秘钥
  2. 验证jenkins目录下是否创建了两个秘钥
  3. 将公钥拷贝到authorized_keys文件
// 查看两个秘钥文件
ls -l /var/lib/jenkins/.ssh

// 将公钥拷贝到authorized_keys文件中
cd /var/lib/jenkins/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys


10. 配置SSH Server

Passphrase:密码(key的密码,没设置就是空)
Path to key:key文件(私钥)的路径
Key:将私钥复制到这个框中(可通过cat id_rsa查看,复制。path to key和key写一个即可,如果在ssh server配置的时候勾选了Use password authentication, or use a different key,则两个都可以不填)


// SSh Servers的配置
SSH Server Name:标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址(建议ip)
Username:用户名
Remote Directory:远程目录(我这里选择了根目录)
  1. 点击下方的 Test Configuration

注意:上面是在用户Jenkins下进行的,但是我在构建发布过程中会出现权限不够,我猜测是用户jenkins发布时权限不足。然后我就改回了用户root,其他的操作跟上面是一样的。