zoukankan      html  css  js  c++  java
  • jenkins配置publish over ssh遇到的问题

    一、背景

    目标

    本篇文章主要是说明自己在配置jenkins的publish over ssh插件所遇到的问题.本次主要是windows下的jenkins通过ssh的方式访问我本地虚拟机的ubuntu系统

    准备

    1.在jenkins上安装publish over ssh插件,不会安装的童鞋请百度谷歌

    2.虚拟机的ubuntu系统安装openssh-server并启动该服务

    二、ubuntu操作中的报错以及处理

    在下载openssh-server时首先更新apt-get,使用以下命令

    sudo apt-get update
    报错如下:

    E: Failed to fetch http://mirrors.163.com/ubuntu/dists/lucid-security/universe/source/Sources 404 Not Found
    E: Failed to fetch http://mirrors.163.com/ubuntu/dists/lucid-updates/universe/source/Sources 404 Not Found
    E: Failed to fetch http://mirrors.163.com/ubuntu/dists/lucid-proposed/universe/source/Sources 404 Not Found
    E: Failed to fetch http://mirrors.163.com/ubuntu/dists/lucid-backports/universe/source/Sources 404 Not Found
    这个是因为我之前切换163源的时候格式不对,所以需要重新修改下/etc/apt/source.list文件,出现类似的错误都可以按照如下方法进行修改

    cd /etc/apt
    sudo cp source.list source.list.bak //备份该文件
    sudo vim source.list //将该文件的内容全部删除,并换上下面的内容
    deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
    换好了以后,退出并再执行命令sudo apt-get update,没报错后再执行以下命令

    sudo apt-get install openssh-server //下载ssh服务
    遇到了如下错误

    The following packages have unmet dependencies:
    openssh-server : Depends: openssh-client (= 1:6.6p1-2ubuntu1)
    Depends: openssh-sftp-server but it is not going to be installed
    Recommends: ssh-import-id but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
    这是因为,openssh-server是依赖于openssh-clien的,而ubuntu自带的openssh-clien与所要安装的openssh-server所依赖的版本不同,这里所依赖的版本是1:6.6p1-2ubuntu1,所以需要先下载1:6.6p1-2ubuntu1版本的openssh-client,执行以下命令下载

    sudo apt-get install openssh-client=1:6.6p1-2ubuntu1 -y //下载对应版本的openssh-client
    下载没报错后,执行以下命令

    sudo apt-get install openssh-server -y
    最后就是恭喜你sshd服务已经下载好了

    三、在jenkins上配置publish over ssh插件

    1.在系统管理-->系统设置中找到publish over ssh

    如图所示是jenkins上的ssh插件的公有配置部分,下面详细讲解下(其实比较简单,但是自己遇坑了也就记录一下)

    Passphrase:如果自己在本地生成的ssh key没密码的话,这里不需要填写

    Path to key:这里填写私钥的地址

    key:这里填写私钥的内容(cat ~/.ssh/id_rsa查看)

    Name:这里自己填写一个好记的名字

    Hostname:主机ip或者域名

    Username:登录机器的用户名

    Remote Directory:远程的操作目录(这个需要自己的对应的服务器上创建好目录,并且登录名对应的用户需要有相应的权限)

    ******注意:这种利用私钥访问的办法需要事先将你的公钥放置到对应服务器的~/.ssh/authorized_keys中(一般 利用ssh-copy-id 命令免密登录)*****

    以上登录方式不推荐,点击“Use password authentication, or use a different key”,利用私有配置登录才是我们推荐的

    Passphrase / Password:这里填写username登录名对应的密码(其他的配置这里就不叙述了,看字段名应该就能明白)

    一般填写密码就能登录了,点击Test configuration,出现Success表示连接成功;但有时候会报如下错:

    Failed to connect or change directory
    [java.net.ConnectException: Connection refused: connect]]
    这是由于服务器上的sshd服务没有开启导致的,登录到服务器上执行命令

    sudo service sshd start //开启sshd服务
    或者是如下错误

    jenkins.plugins.publish_over.BapPublisherException: Failed to connect session for config [131]. Message [Auth fail]
    这是由于账号密码不一致导致的,自行核查下账号密码.或者采用在私有配置中利用私钥来进行登录(这种方式参考上面的配置,在path to key 和key中填好相应的内容)

    四、总结

    以上就是这篇文章所要讲的,主要是记录下自己的遇到的错误以及解决方案,由于虚拟机的sshd服务没开启导致自己排查了好长时间,很惭愧啊,因为平时在公司使用的机器默认已经装好了这些服务,所以一时间忽略了这个问题,还是自己太粗心啊!

    原文发表在知乎,知乎链接:https://zhuanlan.zhihu.com/p/39549204

  • 相关阅读:
    BZOJ 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐( LIS )
    BZOJ 1660: [Usaco2006 Nov]Bad Hair Day 乱发节( 单调栈 )
    BZOJ 1620: [Usaco2008 Nov]Time Management 时间管理( 二分答案 )
    BZOJ 1639: [Usaco2007 Mar]Monthly Expense 月度开支( 二分答案 )
    JAVA
    CodeForces-327A-Flipping Game
    Python学习笔记(九)- 变量进阶、函数进阶
    HDU6480-A Count Task-字符串+公式
    JQuery学习笔记(一)
    JAVA
  • 原文地址:https://www.cnblogs.com/justuntil/p/11731646.html
Copyright © 2011-2022 走看看