在Git中,当主机使用不同的SSH端口时,如何添加远程源服务器?
git remote add origin ssh://user@host/srv/git/example
Run Code Online (Sandbox Code Playgroud)
igo*_*orw 550
你可以这样做:
git remote add origin ssh://user@host:1234/srv/git/example
Run Code Online (Sandbox Code Playgroud)
1234 是正在使用的ssh端口
bra*_*amp 129
您需要编辑〜/ .ssh/config文件.添加如下内容:
Host example.com
Port 1234
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 25
ssh://您可以继续使用传统的 URL 形式通过 SSH 访问 git,而不是使用协议前缀,只需稍作改动。提醒一下,传统的 URL 是:
git@host:path/to/repo.git
Run Code Online (Sandbox Code Playgroud)
要指定替代端口,请在user@host部件周围加上括号,包括端口:
[git@host:port]:path/to/repo.git
Run Code Online (Sandbox Code Playgroud)
但如果端口更改只是暂时的,您可以告诉 git 使用不同的 SSH 命令,而不是更改存储库的远程 URL:
git@host:path/to/repo.git
Run Code Online (Sandbox Code Playgroud)
kuj*_*jiy 24
最佳答案对我不起作用.我需要ssh://从开始.
# does not work
git remote set-url origin user@example.com:10000/aaa/bbbb/ccc.git
# work
git remote set-url origin ssh://user@example.com:10000/aaa/bbbb/ccc.git
Run Code Online (Sandbox Code Playgroud)
Eva*_*oll 15
对于那些编辑你的人 ./.git/config
[remote "external"]
url = ssh://evanc@www.foo.com:11720/aaa/bbb/ccc
fetch = +refs/heads/*:refs/remotes/external/*
Run Code Online (Sandbox Code Playgroud)
对于 gitlab,示例 ssh 端口是 2224,因此:
git远程添加 ssh://git@192.168.1.100:2224/your_group/your_project.git
尝试连接到我的 git 服务器时遇到类似问题
(在 docker 容器中有一个gitea服务器,ssh 端口配置为2022,而不是标准 22,这里作为示例my-git-server.lan)。
$ ssh-keygen -q -N '' -b 4096 -f ~/.ssh/mykeyfile
Run Code Online (Sandbox Code Playgroud)
(这将创建两个文件:公钥mykeyfile.pub和私钥,mykeyfile没有任何扩展名)
$ cat ~/.ssh/mykeyfile.pub
Run Code Online (Sandbox Code Playgroud)
$ nano ~/.ssh/config
Host my-git-server.lan
HostName my-git-server.lan
User git
Port 2022
IdentityFile ~/.ssh/mykeyfile
Run Code Online (Sandbox Code Playgroud)
(请注意,无论您在 git 服务器上的实际用户名如何,用户名始终为 ) git
$ ssh -T git@my-git-server.lan
Hi there, username! You've successfully authenticated with the key named /Users/username/.ssh/mykeyfile.pub
Run Code Online (Sandbox Code Playgroud)
..使用-v “详细模式”来分析任何错误:
$ ssh -Tvvv git@my-git-server.lan
Run Code Online (Sandbox Code Playgroud)
(再次注意,用户名始终 git是)
ssh://git@my-git-server.lan:2022/alex/myproject.git(再次注意用户git和端口2022),..检查远程配置$ cd your/local/git/repository/folder
$ git remote add my-git-server ssh://git@my-git-server.lan:2022/alex/myproject.git
$ git remote -v
Run Code Online (Sandbox Code Playgroud)
(在这里您还可以看到,在我的 git 服务器上,我的实际用户是alex,存储库是myproject)
完毕!您现在可以使用 git-server .. fetch/commit/push 等。
(这是我在serverfault.com上发布的帖子的副本)
更新:正如评论中正确指出的那样 - 您不一定需要在远程 URL 中指定端口2022~/.ssh/config ,因为它已经在文件中配置为PORT 2022.
| 归档时间: |
|
| 查看次数: |
278867 次 |
| 最近记录: |