记录 git clone 出现 ssh: connect to host gitlab port 22: Network is unreachable错误
公司使用vpn 链接公司内网,刚进入公司需要配置相关开发环境,拉取代码 ,vpn配置完成后能够访问公司内网网站,git 拉取代码报ssh: connect to host gitlab port 22: Network is unreachable 错误,网上查了很多方法,没能解决,这里记录本次解决问题方法。希望能够帮助到遇到同样问题的小伙伴。
1、可能gitlab ssh key 与本地 git 生成的ssh key 不匹配
尝试做将git 配置重新设置一下
git config --global user.name = 'username' // 你gitlab登录的用户名
git config --global user.email = 'useremail' //你的gitlab email
设置完成可以使用 git config --global --list 命令查看配置情况
生成生成ssh key
ssh-keygen -t rsa -b 4096 -C "email@example.com" //4096 是设置本地链接线上gitlab 不使用密码
一路回车就行
执行完成在本地 C:\Users\xxx.ssh 目录下谁生成 id_rsa.pud 文件,打开文件复制所有内容粘贴到gitlab
配置完成执行拉取代码
git clone ssh链接
报错
没能解决我的问题
2、gitlab 项目生成的clone路径是外网路径,外网路径不应许访问,导致访问链接被禁止;
在配置完ssh 密钥后还是不能链接访问,在经过多次的测试后, 发现clone 的路径使用http 链接还是不能拉取代码,使用http 链接在网页打开也报错,发现问题所在了gitlab 的网页链接是添加了本地路径的,http://gitlab.local.xxxxxx.com ;
在git 上复制 的使用 ssh 路径clone 的路径是 git@gitlab:xxx/xx.git 这样的;需要使用gitlab 的全域名来clone;
最后在执行 git clone 时 git@gitlab.local.xxxx.:xxx/xxx/xx.git
成功解决 ssh: connect to host gitlab port 22: Network is unreachable 问题
到这里时可以拉取代码了, 但是还存在一个问题,当我去推送代码的时候报错了,不能提交代码,这个方法还是存在问题,
最后的问题存在公司配置内网github 域名存在问题;
3、修改网卡 DNS 后缀
1、打开 Windows 设置>网络和 Internet>点击“更改适配器选项”
2、找到“TAP-Windows Adapter V9 for OpenVPN Connect”字样的网卡,右键属性
打开,选中“Internet 协议版本 4 (TCP/IPv4)”,并点击“属性”;
3、设置“自动获得 IP 地址”,并点击“高级”
4、在“DNS”设置界面,填写 DNS 后缀:xxxx
最后就能成功解决问题