Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jenkins中为git存储库配置端口_Git_Ssh_Jenkins_Jenkins Plugins_Ssh Keys - Fatal编程技术网

在jenkins中为git存储库配置端口

在jenkins中为git存储库配置端口,git,ssh,jenkins,jenkins-plugins,ssh-keys,Git,Ssh,Jenkins,Jenkins Plugins,Ssh Keys,我正试图在詹金斯创建一个Maven项目。代码位于使用非标准端口1754的Git存储库中 配置文件中已经有端口详细信息,但jenkins中的git插件无法连接。它给出了端口22的错误信息 添加以下url后,Jenkins(Git部分)将出现以下错误:gitolite@10.115.2.110:自动编码 Failed to connect to repository : Command "/usr/bin/git -c core.askpass=true ls-remote -h gito

我正试图在詹金斯创建一个Maven项目。代码位于使用非标准端口1754的Git存储库中

配置文件中已经有端口详细信息,但jenkins中的git插件无法连接。它给出了端口22的错误信息

添加以下url后,Jenkins(Git部分)将出现以下错误:
gitolite@10.115.2.110:自动编码

  Failed to connect to repository : Command "/usr/bin/git -c 
  core.askpass=true ls-remote -h gitolite@10.115.2.110:AutomationCode 
  HEAD" returned status code 128:
  stdout: 
  stderr: ssh: connect to host 10.115.2.110 port 22: Connection refused 
  fatal: Could not read from remote repository.
  Please make sure you have the correct access rights
  and the repository exists.
当我直接从终端克隆git存储库时,它工作正常,但在Jenkins中,它没有使用端口的配置文件

我试着给SSHURL,但它也不工作
“连接被拒绝”错误即将出现。
我尝试在SSH服务器的Manage
Jenkins->configure system页面中给出固定端口号。但这个问题仍然没有得到解决

有什么方法可以让我们配置一个项目使用Jenkins->Git中的特定端口,或者访问.ssh/config文件获取端口号


我正在使用SSH密钥访问git。

如果您使用相同的url(
gitolite@10.115.2.110:AutomationCode
),然后:

  • 您正在使用端口22(ssh的标准),或者如下面所述,使用带有“
    主机gitolite
    ”条目的~/ssh/config文件
  • 您可能不会在Jenkins上使用与在命令行中使用帐户相同的~/.ssh
让Jenkins作业打印“
env
”,查看环境变量(和用户名)是否与您在终端中看到的相同。

使用jenkins登录,切换到home dir(默认为/var/lib/jenkins),在.ssh/config中设置端口,然后从中删除端口git@foo.com:[port]/git/bar.git,然后git克隆成功。 我认为这很乏味,但它很有效


注意:远程git服务器上必须有ssh公钥。

从命令行克隆时使用的url是什么?git clonegitolite@10.115.2.110:AutomationCode在此区域中没有指定端口的位置。所以我在.ssh文件夹中创建了配置文件来指定端口1754。这在命令行中起作用。但在Jenkins中,它只接收端口22。正如我所想:这就是我下面的答案。在命令行中,我使用.ssh文件夹中的配置文件来指定端口,即1754。@shashank您的配置文件中有“
主机gitolite
”吗?无论如何,您的Jenkins必须在不同的帐户下运行,否则它将访问与您在命令行中相同的
~/.ssh/config
文件。现在这个错误不会发生了。但是与权限问题相关的另一个错误出现了:*“stdout:stderr:Bad owner或/var/lib/jenkins/.ssh/config fatal:无法从远程存储库读取权限。请确保您具有正确的访问权限并且存储库存在。”**我尝试更改.ssh文件夹和配置文件的权限,但仍然出现相同的错误。我还尝试使用root用户运行jenkins来解决权限问题,但仍然出现相同的错误。