jenkins Publish over SSH免密连接windows openssh报错Auth

家电维修 2023-07-16 19:17www.caominkang.com家电维修技术

1. 版本

Jenkins 2.363

openssh 9.0

2.起因

jenkins安装在linux上,需要连接indos的openssh实现远程部署

3.经过 1.Publish Over CIFS方案

因为公司的服务器都只能通过堡垒机登录,所以我个人无法拿到indos服务器的administrator用户的密码,但使用新建用户通过Publish Over CIFS只能向indos传输文件无法远程执行命令,所以这种方法本身就无法实现远程部署。

2.Publish Over SSH  + OpenSSH

只能通过indos端安装openssh与jenkins建立ssh隧道可以实现sftp传输文件和远程执行命令

3.indos上安装openssh修改配置

按照网上的方法进行免密登录的配置

 此时需留意箭头处的公钥路径,到时候公钥需要放在这个路径下

4.jenkins生成公私钥

在部署jenkins的linux系统中直接运行ssh-keygen命令生成公私钥一路回车(如不需要设置密码)

5.将公钥放在indos的openssh上面配置文件中的路径下并改名为配置文件路径中的名字

此时重启openssh后jenkins服务器中使用ssh -i /key administrator@192.168.1.1连接indos应该是没问题的,但jenkins的Publish Over SSH却会报错

6.Auth fail

 困扰了我两天的问题,在Publish Over SSH的github上看到有人遇到类似的问题,定位下来是openssh在新版本中不支持rsa的加密格式了,而Publish Over SSH并没有兼容这个问题,所以通过命令行能够连上,但jenkins连不上。

解决方法就是在配置文件中加上PubKeyAeptedKeyTypes=+ssh-rsa

目前github上这个问题是打开状态 预计不久的将来jenkins官网会解决这个问题

7.Failed to connect SFTP channel

后来又出现了SFTP连不上,这个问题比上一个好定位

如图,请检测你的sftp的路径是否是正确的指向了sftp-server

更改完一切,重启openssh后即可连接成功了

Copyright © 2016-2025 www.jianfeikang.com 建飞家电维修 版权所有 Power by