2015-09-17 3 views
2

я увидел ответ на тот же вопрос в Algorithm negotiation fail SSH in JenkinsАлгоритм переговоров терпят неудачу в Дженкинс

Я столкнулся с той же проблемой, но обновление ss_config не помогло, и я все еще получаю ту же ошибку. У меня также есть другая проблема, которая может быть связана с этим. В общей конфигурации Jenkins я добавил свое подчиненное устройство как удаленный хост и дал ему имя хоста, порт, имя пользователя и ключ, но он все еще говорит «Не удается подключиться к серверу». Интересно, почему, потому что, если я вхожу в систему на машине Jenkins, я могу легко подключиться к удаленному хосту в командной строке с использованием того же ключевого файла.

Update:

Это линия, которую я добавил к ssh_config:

KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 

Это выход консоли в Дженкинс:

[SSH] Exception:Algorithm negotiation fail 
com.jcraft.jsch.JSchException: Algorithm negotiation fail 
    at com.jcraft.jsch.Session.receive_kexinit(Session.java:520) 
    at com.jcraft.jsch.Session.connect(Session.java:286) 
    at com.jcraft.jsch.Session.connect(Session.java:150) 
    at org.jvnet.hudson.plugins.SSHSite.createSession(SSHSite.java:141) 
    at org.jvnet.hudson.plugins.SSHSite.executeCommand(SSHSite.java:151) 
    at org.jvnet.hudson.plugins.SSHBuilder.perform(SSHBuilder.java:60) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) 
    at hudson.model.Build$BuildExecution.build(Build.java:205) 
    at hudson.model.Build$BuildExecution.doRun(Build.java:162) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537) 
    at hudson.model.Run.execute(Run.java:1741) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:381) 
Build step 'Execute shell script on remote host using ssh' marked build as failure 
[SSH] executing post build script: 
+0

показать нам подробный журнал хотя бы от клиента, в противном случае мы можем только догадываться, в чем проблема. Также было бы полезно, как вы изменили ssh_config или sshd_config. – Jakuje

+0

Я обновил свой вопрос, но я не понимаю, что если есть проблема с согласованием ключей, как я могу подключиться через ssh в командной строке от Jenkins до удаленного хоста. –

+0

Это 'jsch', а не' openssh', и журнал не так много подробностей о причине сбоя. Существуют и другие алгоритмы, которые вы можете не согласовать - Ciphers, MAC. – Jakuje

ответ

5

я понял это, я использую Ubuntu 15.04 как удаленный хост, который использует ssh версии 6.7, и эта версия по умолчанию отключила большую часть алгоритма шифрования. И мне нужно, чтобы добавить эту строку:

KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 

НЕ к ssh_config, но sshd_config.

Смежные вопросы