一、背景

目标

本篇文章主要是说明自己在配置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

jenkins配置publish over ssh遇到的问题的更多相关文章

  1. Jenkins配置Publish Over SSH讲解说明

    原创 Jenkins配置Publish Over SSH讲解说明 2018-08-22 11:59:30 M.Blog 阅读数 3764更多 分类专栏: Jenkins   版权声明:本文为博主原创文 ...

  2. Jenkins通过Publish over SSH插件实现远程部署

    Jenkins通过Publish over SSH插件实现远程部署 步凑一.配置ssh免秘钥登录 部署详情地址:http://www.cnblogs.com/Dev0ps/p/8259099.html ...

  3. Jenkins中Publish Over SSH插件使用

    Publish Over SSH插件安装 进入插件管理安装插件,我这里已经安装过了所以在installed里面,没安装过去available里面搜索. 系统设置中配置Publish Over SSH ...

  4. Jenkins系列-Jenkins通过Publish over SSH插件实现远程部署

    配置ssh免秘钥登录 安装Publish over SSH插件 插件使用官网:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plug ...

  5. jenkins插件Publish Over SSH因安全问题下架

    最近用docker新搭建了一个jenkins,安装插件的时候发现publish over ssh找不到了,官方给出的解释是存在安全隐患于2022.01.12暂停分发,官方解释如下:https://ww ...

  6. 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)

    1.安装jenkins 2.浏览器访问jenkins主页 http://192.168.0.1:8080/,点击“系统管理” 3.在插件管理中,安装Publish Over SSH插件 4.在系统设置 ...

  7. jenkins使用Publish Over SSH中遇到的问题

    在jenkins中想使用publish over ssh来在构建后发送XML或PNG文件至服务器,以便做其它的操作,安装完publish over ssh后,填加构建,发现在构建失败时,不传送文件,老 ...

  8. Jenkins配置Publish Junit test result report(转)

    参考这篇文章:http://www.yiibai.com/jenkins/jenkins_unit_testing.html 插件:JUnit Plugin

  9. jenkins配置git+maven+Publish over SSH

    一.配置git 1.新建项目,源码管理选择git 2.Repository URL输入git目录 3.Credentials中选择新增凭据,凭据类型选择SSH,usename输入git,passphr ...

随机推荐

  1. 个人app如何收集用户日志

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/147 个人app如何收集用户日志,相信不少人对这个话题感兴 ...

  2. react-router刷新页面Cannot GET 问题

    最近在做项目的时候遇到了如下错误 并在控制台看到了如下的报错 我先是按照控制台的错误搜索,得出的结果都是对meta头部进行设置,允许资源请求,但是问题依然没有解决,偶然间改变了想法,会不会是路由的问题 ...

  3. [20191220]关于共享内存段相关问题.txt

    [20191220]关于共享内存段相关问题.txt --//我一直很好奇如果设置内核参数kernel.shmmax = 68719476736足够大,为什么我的测试实例还是建立3个共享内存段.--// ...

  4. 表空间相关SQL

    --查表空间使用率情况(含临时表空间)SELECT D.TABLESPACE_NAME "Name", D.STATUS "Status", TO_CHAR(N ...

  5. Linux下安装Redis以及遇到的问题

    参考链接:https://www.cnblogs.com/zdd-java/p/10288734.html https://www.cnblogs.com/uncleyong/p/9882843.ht ...

  6. (day68)Vue-CLI项目、页面跳转和传参、生命周期钩子

    目录 一.Vue-CLI (一)环境搭建 (二)项目的创建 (三)项目目录结构 (四)Vue组件(.vue文件) (五)全局脚本文件main.js(项目入口) (六)Vue请求生命周期 二.页面跳转和 ...

  7. 前端小白webpack学习(一)

    俗话说得好,好记性不如烂笔头. 之前就在学习中看过webpack的教程,然而一段时间没用,火速的忘光了.写这篇博文,做个总结,也让自己以后有个地方回顾. 看webpack之前,我先去看了一下官方文档, ...

  8. mjml - 如何快速编写响应式电子邮件?

    一.背景 以前做项目碰到发邮件的需求,邮件模板的编辑就是一件头疼的事.因为虽说邮件是支持 HTML 的,但是确是 HTML 子集程度的支持,所以存在必须通过 <table> 排版的恶心之处 ...

  9. windows 使用 curl 命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

  10. 整理了8个Python中既冷门又实用的技巧

    1.print 打印带有颜色的信息 大家知道 Python 中的信息打印函数 print,一般我们会使用它打印一些东西,作为一个简单调试. 但是你知道么,这个 Print 打印出来的字体颜色是可以设置 ...