我们今天在迁移Jenkins的时候又出现无法调用私钥来获取oschina的git代码和使用scp拷贝无法验证的问题。我发现主要的问题实际上是关于ssh的问题,因为git和scp都是通过ssh来实现与远端服务器的通讯过程。
我总结有下面三个坑:
 
1. 当存在多个私钥(通常我们创建出来默认名称为: id_rsa 或者id_dsa )的时候如何处理?
比如我有两个私钥
  • id_rsa_oschina
  • id_dsa70
分别对应连接的服务器是git.oschina.net 和 192.168.88.70 linux服务器。
这种情况下,需要在ssh默认配置目录,c:\users\[username]\.ssh下创建一个config的文件,指定对应的服务器使用的identityfile

Host git.oschina.net

IdentityFile ~/.ssh/id_rsa_oschina

Host 192.168.88.70

IdentityFile ~/.ssh/id_dsa70

 
 
2. DSA协议不被认可
使用 
ssh -vT wzp@192.168.88.70
进行测试,发现其中
debug1: Skipping ssh-dss key /c/Users/UM_CI_BUILDER/.ssh/id_dsa70 for not in PubkeyAcceptedKeyTypes
 
因此,需要config文件中指定
 Host 192.168.88.70
   IdentityFile ~/.ssh/id_dsa70
   PubkeyAcceptedKeyTypes ssh-dss
 
3. 在jenkins中 使用 scp cas.war wzp@192.168.88.70:/home/wzp/ 提示unstable的编译结果。

E:\Jenkins_work\QA_UM_SSO\workspace\cas-server-webapp\target>scp cas.war wzp@192.168.88.70:/home/wzp/

E:\Jenkins_work\QA_UM_SSO\workspace\cas-server-webapp\target>exit 0

SSH: Connecting from host [WIN12FILESRV1]

SSH: Connecting with configuration [LINUX CAS SVR-80-Test] ... ERROR: Exception when publishing, exception message [Failed to read file - filename [C:\Users\UM_CI_BUILDER\.ssh\id_dsa] (relative to JENKINS_HOME if not absolute).

Message: [C:\Users\UM_CI_BUILDER\.ssh\id_dsa (The system cannot find the file specified)]] Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE

Finished: UNSTABLE

这个需要在jenkins全局配置,增加LINUX CAS SVR-80-Test 在publish over ssh中的定义。

好吧,终于把Jenkins发布到linux的坑给填完了。

SSH在Jenkins中的使用的更多相关文章

  1. jenkins中通过Publish Over SSH将项目部署到远程机器上

    Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...

  2. Jenkins中关于一些插件的使用

    Jenkins中关于一些插件的使用方法 最近在为公司搭建CI平台过程中,以及在具体项目实施过程中使用过的一些插件的具体用法: 1. ant插件 这个插件可能是我们最为经常使用的,若构建脚本是使用bui ...

  3. jenkins中使用rsync, scp命令

    jenkins 中使用 rsync 命令 是出现一些错误输出 Host key verification failed. rsync: connection unexpectedly closed ( ...

  4. jenkins中集成commander应用

    jenkins中集成commander应用 jenkins 集成测试 promotion 最近参加公司的集成测试平台的开发,在开发中遇到了不少问题,两个星期的迭代也即将完成,在这也用这篇博客记录下开发 ...

  5. 2.在Jenkins中配置及执行 maven + selenium + testng项目

    1. 在Jenkins中配置Maven与Git 1)在系统管理>管理插件>可选插件 页面分别下载Git plugin 与 Maven Integration plugin插件,安装完成后再 ...

  6. Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)

    原始链接:http://blog.csdn.net/a464057216/article/details/52934077 requirments OS: Ubuntu 14.04+ Gitlab 8 ...

  7. Jenkins中启动从节点时,出现问题如何解决,问题:No Known Hosts...

    Jenkins中,启动从节点时,出现如下问题如何解决:/root/.ssh/known_hosts [SSH] No Known Hosts file was found at /root/.ssh/ ...

  8. Jenkins中构建Testcomplete项目的方法介绍

    Jenkins的部署在上一篇随笔中已经和大家介绍了,下面我们介绍一下再Jenkins中构建testcomplete项目.我这里使用的是Testcomplete11,下面详细介绍一下构建步骤. 1.Je ...

  9. 在Jenkins中获取GitHub对应Repository的Resource Code

    1):Install Jenkins 请看如下链接: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins 2):Install ...

随机推荐

  1. css定位的简单总结

    关于css的定位,相信初接触css的同学都头疼不已.相对定位.绝对定位连名字都这么像,用起来更是一会被遮住一会被挤出去,踩了很多坑之后,对css的定位进行一个简单的总结,以免重蹈覆辙. 其实掌握好几种 ...

  2. 取td里面的内容

    var rowLength = document.getElementById("table名字").rows.length;   for(var i=0;i<rowLeng ...

  3. C2第五次作业解题报告

    看过题解后如果觉得还算有用,请帮忙加点我所在团队博客访问量 http://www.cnblogs.com/newbe/ http://www.cnblogs.com/newbe/p/4069834.h ...

  4. Jquery插件实现点击获取验证码后60秒内禁止重新获取

    通过jquery.cookie.js插件可以快速实现“点击获取验证码后60秒内禁止重新获取(防刷新)”的功能 先到官网(http://plugins.jquery.com/cookie/ )下载coo ...

  5. Swift的排序算法总结

    下面让我们一起来见识一下swift中基于Array的扩展的冒泡排序,选择排序和快速排序吧. 1.冒泡排序 冒泡排序再基础不过了,这里就不再讲其原理了,实在不会可以看下百度百科冒泡排序 既然冒泡排序避免 ...

  6. 毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库

    毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库 在线演示地址: http://m.yunxunmi.com/ 支持 IOS Android Ipad 等不同操作系统的手持或 ...

  7. 在ios中使用第三方类库

    在项目开发中经常会用到一些第三方类库,通常有两种方法来做到:一种方法是直接把所有的.h和.m文件复制到项目中:另一种方法是把.xcodeproj拖到项目中生成静态链接库并引用. 方法一:直接复制所有源 ...

  8. Dynamic CRM 2013学习笔记(四十五)修改实体及字段的前缀(不用new_开头)

    最近做一个升级的CRM项目,为了区分哪些是新增的,所以决定用一个新的前缀来定义实体及新加的字段.之前用的是new_开头,现在改成tm_开头.   原来只要是新建实体或字段都是new_开头:   1. ...

  9. 每日代码 - 6/26 lambda表达式

    public class CartViewRender { public static CartView renderMyCartView(Cart cart){ ErrorCodeEnum erro ...

  10. MySQL group_concat 1024 大小

    1. GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得: SELECT @@global.group_concat_max_len; show varia ...