我司自动安装部署工具ideploy,使用ssh连接主机并部署业务。今天提供给一线安装规划后,安装报错,测试连接主机失败,而直接使用ssh是可以连接上主机的。查看问题错误堆栈如下:

  1. ERROR pool-4-thread-1 2015-06-15 14:28:59,852 [SSHTerminal] (connectToServer:275) The ssh is connect exception.Try 1 times.
  2. com.jcraft.jsch.JSchException: Algorithm negotiation fail
  3. at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)
  4. at com.jcraft.jsch.Session.connect(Session.java:286)
  5. at com.huawei.breeze.ideploy.terminal.SSHTerminal.connectToServer(SSHTerminal.java:236)
  6. at com.huawei.breeze.ideploy.terminal.SSHTerminal.connect(SSHTerminal.java:151)
  7. at com.huawei.breeze.ideploy.terminal.SSHTerminal.checkConnect(SSHTerminal.java:105)
  8. at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeNormal(UnixTerminal.java:950)
  9. at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeForward(UnixTerminal.java:812)
  10. at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeNormal(UnixTerminal.java:884)
  11. at com.huawei.breeze.ideploy.terminal.Terminal.execute(Terminal.java:195)
  12. at com.huawei.breeze.ideploy.host.HostCheckRunner.run(HostCheckRunner.java:84)
  13. at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  14. at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  15. at java.lang.Thread.run(Unknown Source)

一搜,发现不少人有同样的问题,http://stackoverflow.com/questions/26424621/algorithm-negotiation-fail-ssh-in-jenkins,应该是ssh在6.7版本以后,对一些加密算法不支持,需要手动添加。查看问题单板ssh版本结果如下:

  1. user01@caiyun-aas02:~> ssh -V
  2. OpenSSH_6.8p1, OpenSSL 0.9.8j-fips 07 Jan 2009

运行正常的主机则如下:

  1. user01@caiyun-ndmc-db01:/> ssh -V
  2. OpenSSH_6.2p2, OpenSSL 0.9.8j-fips 07 Jan 2009

问题解决:在/etc/ssh/sshd_config最后添加一行加密算法,重启sshd,/etc/init.d/sshd restart,问题解决

2015-7-28,补充,遇到个sftp连接,代码报错的,用以上方法不行,同样修改和/usr/etc/sshd_config文件后,问题解决,记录一下。

ssh com.jcraft.jsch.JSchException: Algorithm negotiation fail报错问题解决的更多相关文章

  1. com.jcraft.jsch.JSchException: Auth fail

    背景 服务器信息: 服务器A:10.102.110.1 服务器B:10.102.110.2 需要从服务器A通过Sftp传输文件到服务器B. 应用项目中有一个功能,要通个关Sftp进行日志文件的传输,在 ...

  2. Hadoop 之 高可用不自动切换(ssh密钥无效 Caused by: com.jcraft.jsch.JSchException: invalid privatekey )

    案例 在安装hadoop ha之后,验证HDFS高可用时,怎么都不能实现自动切换.查看zkfc日志发现错误信息如下: WARN org.apache.hadoop.ha.SshFenceByTcpPo ...

  3. com.jcraft.jsch.JSchException: java.io.FileNotFoundException: file:\D:\development\ideaProjects\salary-card\target\salary-card-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\keystore\login_id_rsa 资源未找到

    com.jcraft.jsch.JSchException: java.io.FileNotFoundException: file:\D:\development\ideaProjects\sala ...

  4. 并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host

    当对单接口极限测试时,随着并发量上升,接口稳定性出现不稳定的情况,排查后台日志,发现报错在该接口调用sftp上传时出现问题(确切的是在初始化连接时失败) 原因:系统SSH终端连接数配置过小,查看虚拟机 ...

  5. 主机ssh升级到6.7以上版本后,使用jsch jar包ssh连接不上报Algorithm negotiation fail问题的解决办法

    ssh连接问题是由于主机ssh中缺少与jsch jar包匹配的加密算法导致,jsch jar包的默认加密算法貌似是diffie-hellman-group-exchange-sha1. 在目标主机ss ...

  6. JSch Algorithm negotiation fail

    https://stackoverflow.com/questions/30846076/jsch-algorithm-negotiation-fail As you can see, the ser ...

  7. 使用SharpSSH连接服务器报Algorithm negotiation fail解决办法

    SharpSSH或JSCH使用diffie-hellman-group1-sha1和diffie-hellman-group-exchange-sha1密钥交换算法,而OpenSSH在6.7p1版本之 ...

  8. jenkins com.jcraft.jsch.JSchException: Auth cancel

    jenkins构建时报如下错误: 首先去系统管理--->系统设置上看看SCP插件中的用户名和密码是否正确

  9. 做SSH练习的时候,JUunit运行遇到报错信息

    提示说是applicationcontext文件中的jdbcUrl信息错误,可是xml文件中的url再三确认是没有错的,不知道怎么回事? 最下面贴上applicationContext.xml中的数据 ...

随机推荐

  1. binlog2sql之MySQL数据闪回实践

    DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据.此法费时费力,甚至需要停机维护 ...

  2. 饮冰三年-人工智能-Python-12之利其器pycharm

    1:下载.安装.与激活这里不再介绍了.需要注意的是激活时需要修改C:\Windows\System32\drivers\etc\hosts文件 2:工具使用 2.1 HelloWorld  File& ...

  3. VMware 虚拟机 Ubuntu 系统执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) 解决:UP BROADCAST MULTICAST 问题

    VMware 虚拟机 ifconfig没有net_addr地址.Bcast.Mask的解决方法 使用时间长的虚拟机,会莫名其妙的连接不上网 在终端中,使用ifconfig命令查看Ubuntu系统的IP ...

  4. POJ 1273 Drainage Ditches【最大流模版】

    题意:现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条有向水渠,给出这n条水渠所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量 Dinic #include<iost ...

  5. C语言关于进制转换,补码, 整数的位操作

    菜单导航: 1.二进制.八进制.十进制.十六进制的相互转换 2.原码.反码.补码 3.举例证明整数在计算机内是以补码的形式存在(以负数为例) 4.整数的位操作:按位且&.或|.异或^.取反~ ...

  6. 【Android】修改Android 模拟器IMSI

    修改Android 模拟器IMEI 在.....\android_sdk\tools文件下找到emulator-arm.exe,使用UltraEdit文本编辑器打开,搜索CIMI关键字,把310260 ...

  7. ionic2/cordova自定义插件集成aar包

    一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ...

  8. springboot创建错误

    1.Unknown system variable 'query_cache_size' 解决:https://www.cnblogs.com/nicknailo/articles/9074804.h ...

  9. mysql特殊使用

    1.按照 job 和薪水倒序排序: select ename,job,sal from emp order by job desc,sal desc; 2.substr()截取子串 该函数接收3个参数 ...

  10. sendfile

    Sendfile 函数在两个文件描写叙述符之间直接传递数据(全然在内核中操作,传送),从而避免了内核缓冲区数据和用户缓冲区数据之间的拷贝,操作效率非常高,被称之为零拷贝. Sendfile 函数的定义 ...