Git LFS推送不工作时使用SSH认证?
以下是链接设置SSH配置,以便在Artifactory中使用Git lfs存储库。请注意,当您为服务器身份验证创建SSH密钥时,不提供“passphrase”。如果在生成用于服务器身份验证的SSH密钥时提供了“passphrase”,那么在尝试将git lfs推送到Artifactory时将看到如下示例所示的错误。
(0个文件)0 B / 4.09 MB
帖子https://localhost/artifactory/gitlfs-local/objects/batch:拨号TCP [::1]:443: getsockopt:连接拒绝
在artifactory.log中,您将注意到以下失败尝试的异常:
2016-01-18 18:49:12,089 [sshd-SshServer[f4220a5]-nio2-thread-2] [WARN](o.a.s.s.s.ServerSession:456) -异常捕获
[ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-dss, ssh-rsa]
使用SSH身份验证时推送到Artifactory失败的另一个原因是,如果您提供了错误的SSH端口以连接到Artifactory。Git /config”文件,该文件位于本地Git存储库下。此文件中的url应该具有在Artifactory中配置的SSH端口SSH服务器配置。下面是一个例子。git/config”文件,并突出显示Artifactory的URL:
(核心)
Repositoryformatversion = 0
Filemode = true
裸=假
Logallrefupdates = true
Ignorecase = true
Precomposeunicode = true
(远程“起源”)
url =https://github.com/nihalreddy28/project-examples.git
Fetch = +refs/heads/*:refs/remotes/origin/*
(分支“大师”)
Remote = origin
合并= refs/heads/master
(lfs)
Url = "ssh://git@localhost:1339/ artifactory / gitlfs-local”
Mymac-MBP:工程实例mac美元ssh
命令看起来应该像下面的例子:
SSH 127.0.0.1 -p 1339 git-lfs-authenticate artifactory/gitlfs-local download 0abcd
如果SSH验证成功,您应该看到以下输出。
{"头":{“授权”:“不记名UPehbrgQaBKtm2E / Aj570vIWKk7n6cujPRB6mcuFPpU = "},“href”:“https://localhost: 8081 / artifactory / api / lfs / gitlfs-local”}
当NGINX在与Artifactory不同的机器上时,SSH访问
如果你正在尝试为Git LFS设置SSH认证,你可以按照以下步骤来完成任务(这需要NGINX 1.9.0及以上版本):
环境测试
- NGINX v1.11连接到两个人工实例(主实例和从实例)
- NGINX配置8080端口访问Artifactory - https://
:8080/ Artifactory)
A.配置NGINX支持使用SSH认证的Git LFS
要求:NGINX v 1.9.0+
- 找到你的NGINX安装并添加以下流行(粗体)到/etc/nginx/nginx.conf文件-在Artifactory中配置的SSH端口在这种情况下是1339端口(请确保这与Artifactory中定义的相同):
HTTP {.....
包括/etc/nginx/conf.d/ * . conf;
}
流{
上游后端{
如果你有两个独立的NGINX,每个都指向自己的Artifactory,你不一定需要指定两个服务器,这是为了从NGINX中实现负载平衡
Server host-1-ip-address:1339 //< primary-url >: 1339”
Server host-2-ip-address:1339 //< secondary-url >: 1339”
}
服务器{
听1339;
proxy_pass后端;
}
}
注意:“流”必须与http但是处于同一级别不在HTTP块中!
NGINX参考-https://nginx.org/en/docs/stream/ngx_stream_core_module.html
B.配置人工SSH
指SSH服务器配置配置SSH。对于上面的例子-自定义基础URL是NGINX的URL。
SSH配置看起来像-
C.在Git LFS Client上
说明- - - - - -
