Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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
Windows 吉特宋承宪赢得';无法在自定义端口上连接_Windows_Git_Powershell_Ssh_Git Bash - Fatal编程技术网

Windows 吉特宋承宪赢得';无法在自定义端口上连接

Windows 吉特宋承宪赢得';无法在自定义端口上连接,windows,git,powershell,ssh,git-bash,Windows,Git,Powershell,Ssh,Git Bash,我在Windows7机器上运行,msysgit、GitBash、tortoisegit和PoshGit都已安装 我们公司有一个以前在https上运行的git服务器。然后,有一段时间它同时拥有https和ssh。现在它只有ssh。在https上一切都运行正常 我生成并安装了所有密钥,没有问题。我可以通过陆龟推/拉/什么都行,没有问题。但是,我不能再在GitBash或powershell+PoshGit中使用命令行。我认为部分原因是因为我们不使用端口22,而是使用自定义端口来提高安全性 请注意,以下

我在Windows7机器上运行,msysgit、GitBash、tortoisegit和PoshGit都已安装

我们公司有一个以前在https上运行的git服务器。然后,有一段时间它同时拥有https和ssh。现在它只有ssh。在https上一切都运行正常

我生成并安装了所有密钥,没有问题。我可以通过陆龟推/拉/什么都行,没有问题。但是,我不能再在GitBash或powershell+PoshGit中使用命令行。我认为部分原因是因为我们不使用端口22,而是使用自定义端口来提高安全性

请注意,以下命令中的主机名和端口号已更改,以保护无辜者

我在尝试推/拉时遇到以下错误,但我显示的命令只是为了测试ssh服务器,以表明ssh是问题所在(我相信)。如果我没有指定端口,它会找到服务器并尝试连接-但由于它默认为端口22,因此会出现如下所示的错误:

C:\gitpath\design [master]> ssh ssh://git@dev.zzz.us
ssh: connect to host dev.zzz.us port 22: Bad file number
但是,如果我指定了端口,它将找不到主机名:

C:\gitpath\design [master]> ssh ssh://git@dev.zzz.us:9092/
ssh.exe": Could not resolve hostname dev.zzz.us:9092/: no address associated with name

我看过类似的帖子,它们都指出需要包含协议(ssh://),以防止此错误。正如你所看到的,即使协议到位,我也会遇到这个错误。我也尝试过使用和不使用结尾“/”-相同的结果。我还缺少其他语法吗?

标识符,如
ssh://git@dev.zzz.us:9092/
可由git用于指定 配置远程存储库时SSH的非标准端口。但是, 远程标识符必须包括路径(我更喜欢使用绝对路径)以 远程存储库,例如

git remote add origin ssh://git@dev.zzz.us:9092/path/to/repo.git
但是,要使用
ssh
命令测试这种连接,可以使用
-p
选项指定TCP端口号,然后选择
user@hostname

ssh -p 9092 git@dev.zzz.us
注意:我通常从Unix系统(而不是Windows)和
ssh使用Git
命令由Openssh包提供

编辑:我刚刚选中了一个Windows框,看到MSysGit也使用Openssh 因此,上述命令起作用;我还没有和Powershell联系过,但不应该有
通过Bash shell运行上述命令可能会遇到任何问题。

谢谢。我知道这很简单,我不太明白。我没有正确配置新的回购协议,我的测试方法也有缺陷。ssh-p和git add | fetch | push | pull都在工作。很高兴能够提供帮助。你的问题提供了大量相关背景,因此我认为值得回答。这提醒我,我应该对这个问题投赞成票,因为它只包含相关信息。