直接用IP访问自建git服务器太麻烦,如何用域名绑定git服务器
自建了一个git服务器,使用IP直接访问git仓库一段时间太麻烦了,有时候IP忘记了,还要打开登录服务器的XShell软件看着IP组合git仓库链接。
域名都是易记的,用域名访问git服务器最好,就像github一样。
用AI工具和搜索引擎搜索了整理了下,两步就搞定。
用A记录方式先解析一个域名绑定到git服务器。
说明一下:
- 直接解析到服务器即可,不用绑定git服务器上特定的目录
- 若SSH端口是默认22的话,那就不用看第二步,到此就可以直接使用域名访问git服务器了,如:
# git clone git@git.domain.com:/srv/repo/example.git
git.domain.com就是你解析出来的域名。
SSH端口不是默认22的话,就要继续第二步配置了
在客户端用户主目录中(Windows中一般是C:\Users\Administrator\.ssh),打开.ssh的目录的config文件,如果没有则创建,然后用记事本打开config文件作如下配置:
Host mygit
HostName git.domain.com
Port 999
Host mygit2
HostName git2.domain.com
Port 888
以上配置文件配置好后,可以直接使用以下方式对git仓库进行管理了。
# git clone git@mygit:/srv/repo/example.git
# git clone git@mygit2:/srv/repo/example.git
发现了吗?如果你有配置文件的话,访问git时可以直接使用Host别名即可,不需要用到整个域名访问,更简短更容易了。
我的配置文件中只配置了三行,并且三行为一组,如果你有多个git服务器,就配置多个组就行,当然config文件不止这三个配置项,详细的配置项如下(根据AI搜索整理)。
配置指令说明
- Host: 指定一个主机名或别名,用于在SSH命令中引用
- HostName: 指定要连接的主机的实际地址或IP
- User: 指定登录时使用的用户名
- Port: 指定SSH服务器的端口号,默认是22
- IdentityFile: 指定用于认证的私钥文件的路径。可以指定多个
IdentityFile行来使用多个私钥 - IdentitiesOnly: 如果设置为
yes,ssh将只使用IdentityFile指定的密钥文件进行认证,忽略其他方式(如密码或agent) - ForwardAgent: 如果设置为
yes,允许通过SSH代理转发认证信息 - ProxyCommand: 指定一个命令来通过代理连接SSH服务器。例如,使用
ProxyCommand ssh -q -W %h:%p jumphost可以通过jumphost跳转连接到目标主机 - PreferredAuthentications: 指定认证方法的优先级列表,例如publickey, password
- AddKeysToAgent: 控制是否将密钥添加到SSH代理。例如,
add表示添加,而no表示不添加 - ServerAliveInterval: 设置服务器活跃检查的时间间隔(秒),以防止连接空闲时被服务器关闭
- StrictHostKeyChecking: 控制是否检查服务器的SSH密钥。例如,
no表示不检查,这在首次连接时很有用 - UserKnownHostsFile: 指定已知主机文件的路径,用于存储服务器的SSH密钥
你的config文件中的配置项根据你的实际需要来选择,我只用到以上三个而已。



目前共有 1 条回复