在Git中,当我的主机使用不同的SSH端口时,如何添加远程源服务器?
git remote add origin ssh://user@host/srv/git/example
你可以这样做:
git remote add origin ssh://user@host:1234/srv/git/example
1234是使用的ssh端口
1234
您需要编辑~/。ssh / config文件。添加如下内容:
Host example.com Port 1234
一个快速的谷歌搜索显示了一个几 不同的资源,它比我解释得更详细。
对于那些编辑./.git/config
./.git/config
[remote "external"] url = ssh://evanc@www.foo.com:11720/aaa/bbb/ccc fetch = +refs/heads/*:refs/remotes/external/*
最好的答案对我没用。我需要ssh://从乞求。
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
你可以继续使用传统的URL形式通过SSH访问git,而不是使用ssh://协议前缀,只做了一个小更改。提醒一下,传统的URL是:
git@host:path/to/repo.git
要指定一个替代端口,在user@host部分周围加上括号,包括端口:
user@host
[git@host:port]:path/to/repo.git
但是如果端口更改只是暂时的,你可以告诉git使用不同的SSH命令,而不是更改存储库的远程URL:
export GIT_SSH_COMMAND='ssh -p port' git clone git@host:path/to/repo.git # for instance
1.git远程添加 ${shortname} ${url}
2.git远程删除 shortname(删除远程)
3.git远程- v(是查看当前远程列表)
4.git 推远程分支
5.git远程重命名 AB(重命名A到B)
6.git远程显示 shortname(显示远程信息)
这一切都对我有用。
以gitlab为例,SSH端口为2224,则:
Git远程添加ssh://git@192.168.1.100:2224/your_group/your_project.git
在尝试连接到我的git服务器时遇到了类似的问题
(在docker容器中有一个gitea服务器,ssh-port配置为2022,而不是标准的22,这里以my-git-server.lan为例)。
2022
my-git-server.lan
$ ssh-keygen -q -N '' -b 4096 -f ~/.ssh/mykeyfile
(这将创建两个文件:公钥mykeyfile.pub和私钥mykeyfile,没有任何扩展名)
mykeyfile.pub
mykeyfile
$ cat ~/.ssh/mykeyfile.pub
$ nano ~/.ssh/config Host my-git-server.lan HostName my-git-server.lan User git Port 2022 IdentityFile ~/.ssh/mykeyfile
(注意用户名是总是 git,不管你在git-server上的实际用户名是什么)
git
$ ssh -T git@my-git-server.lan Hi there, username! You've successfully authenticated with the key named /Users/username/.ssh/mykeyfile.pub
.. 使用- v“verbose模式”;分析任何错误:
$ ssh -Tvvv git@my-git-server.lan
(再次注意,用户名是总是 git)
ssh://git@my-git-server.lan:2022/alex/myproject.git
$ 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
(这里你也可以看到在我的git-server上,我的实际用户是亚历克斯,存储库是myproject)
完成了!您现在可以使用git-server ..获取/提交/推动等等。
(这是我在serverfault.com上的帖子的副本)
更新:正如注释中正确指出的那样——你不一定需要在remote-url中指定端口2022,因为它已经在~/.ssh/config文件中配置为PORT 2022。
~/.ssh/config
PORT 2022
看看如何正确地设置你的~ / . ssh / config文件。
您可以轻松地为不同的主机指定不同的设置。
来解决你的问题
Host github.com Port 22 Host * Port 1234
看看ssh_config手册页,它解释了前几页你需要知道的一切。