Gitlab使用SSH创建本地仓库

情景: 公司有多个项目放在gitlab上。有公司gitlab的账号密码,能正确登陆网页并看到各个项目的commit啊branch啊等等信息。
  • 稍微要注意的一点是这个域名并没有对外发布,不配置一下host文件,根本ping不通,当然也就没办法浏览网页。
  • 再就是我的server系统也没有装X界面,不方便在git clone的时候输入账号密码,所以直接选择使用ssh
一、首先解决下source server没办法ping通的问题:在host文件里加一行解析服务器的配置。
格式:解析服务器IP    domain  
举个栗子: 1.1.1.1    gitlab.a.com. 
Host文件:
windows文件位置:"C:\Windows\System32\drivers\etc\hosts"
linux文件位置:/etc/hosts
二、在要下载代码的机器上ping一下代码主机,能通就可以着手配置SSH了。
 
SSH配置,以linux系统为例。
  1. 首先,生成ssh key。
    • 运行
      • ssh-keygen -t rsa -C "<你的登录邮箱>"
      • 直接去gitlab上ssh的help那里可以复制上面这行命令
      • 命令运行会询问你生成文件的路径和名字,如果默认路径(~/.ssh/id_rsa)原来有文件了,建议你随便取个名字。
    • 下面这两行我就直接为空了,回车就行: 
      • Enter passphrase (empty for no passphrase): 
      • Enter same passphrase again:      
    • 运行成功后生成的文件有两个,一个id_rsa 一个 id_rsa.pub。.pub是公钥,我们复制到gitlab网页上个人信息里的key就是这个文件里的全部内容。
  2. 用ssh-add命令来设置ssh代理
    1. ssh-add -l
      • 列一下机器都代理了哪些key. 如果显示:Could not open a connection to your authentication agent. 说明没代理,需要把ssh-egent启动bash: exec ssh-agent bash
    2. ssh-add -D
      • 如果显示已有代理,可以清空一下。(如果你的机器只有你自己用的话…)
    3. ssh-add ~/.ssh/n
      • 就是刚才上面生成的那个私钥n
    4. 再运行一下步骤1中的命令list一下,应该可以看到key已经显示了
    5. ssh-add命令的帮助信息:ssh-add -h
  3. 在网页上添加SSH Key
    1. 现在把n.pub里的内容添加到你的网页上。
      • 在Profile Settings-> SSH keys添加。
      • 添加信息的地方也会提示你,要公钥不要私钥。文件是.pub结尾的,内容以ssh-rsa开头你的邮箱结尾。
      • (开头和结尾都要带着,整个文件内容一起贴过来就对了)
    2. 现在其实已经设置完毕了。测试命令:
      • ssh git@<gitlab.a.com>
      • 括号里添正确的地址,@前面就是git没错,原样输入。如果成功的话,会显示”Welcome to GitLab, 某某某!“这种信息
    3. 现在可以 git clone 了,后面的地址就是你打开网页上的Project,在顶端SSH框里显示的地址:git@<gitlab.domain:project.git>, 可以直接复制。
      • git clone git@gitlab.a.com:test/unittest.git
 
PS:发现这种方法有个缺点,每次退出重新登录以后都要重新运行一下exec ssh-agent bash && ssh-add ~/.ssh/privatekey ,否则就没有权限了。
解决方案:本来想偷懒看到.ssh文夹下面没有config文件就没有配置。运行了一下发现sshd服务是开机启动的,现在建一个config文件,
#vim ~/.ssh/config

添加内容:
Host yourservername
IdentityFile ~/.ssh/n 

这样就不需要使用ssh-agent了

转载于:https://www.cnblogs.com/nightcatcher/p/6079837.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值