我们今天在迁移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. Android 网络开发免费API接口

    http://www.juhe.cn/                              聚合数据              目前很多接口都收费 https://www.showapi.com ...

  2. Android学习整理之Activity生命周期篇

    一.Activity生命周期说明   Activity的四种状态: ⒈活动状态(Active or Running):也称为运行状态,处于Activity栈顶,在用户界面中最上层,完全能被用户看到,能 ...

  3. 软件工程结组开发软件特色——NABC模型

    特点:通过学生提前点餐,可以让摊主在准备食材的时候有个参照,当准备的食材比较少的时候可以及时回家取来. N(Need):每当放学的时候,学校外边的卖饭摊位总是挤满了人,好多同学都要排好长的队等比较长的 ...

  4. as的一些常见问题

    assets文件的存放目录在”src/main/”目录下,和java.res文件夹平级: aidl文件需要单独在”src/main/”目录下新建一个文件夹,然后创建对应的包名,将aidl文件放在包名对 ...

  5. ServiceStack.Redis之IRedisClient<第三篇>

    事实上,IRedisClient里面的很多方法,其实就是Redis的命令名.只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这 ...

  6. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

  7. GCC选项

    -g: Debugging Option. 提供给GDB的debugging信息的选项: -fno-omit-frame-pointer: Optimization Option: -Wstrict- ...

  8. SharePoint 2013 Service 状态无法启动,显示“启动中(Starting)”

    Problem 在SharePoint 2013 Central Administration中启动 SharePoint Service(也称为:Service Machine Instance)时 ...

  9. OS——进程简答题(1)

    1,叙述进程和程序的主要区别. 解:进程和程序是两个既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念.而进程是程序在处理机上的 ...

  10. atitit.dw不能显示正确的百分比高度in dw的解决

    atitit.dw不能显示正确的百分比高度in dw的解决 div 设置35%的高度,三,不能正确的显示高度...环境dw cs6 但是设置161px奏能ok了...表明这个是dw的一个bug... ...