zoukankan      html  css  js  c++  java
  • gitllab访问报错:Permission denied (publickey). 以及后续测试

    主要测试了各方式clone的情况:

    1. 安装gitlab,配置ip:port。

    常规步骤:

    yum install -y curl policycoreutils-python openssh-server
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
    rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
    vim /etc/gitlab/gitlab.rb   #修改nginx['listen_addresses']、nginx['listen_port']、external_url 3项
    gitlab-ctl restart
    gitlab-ctl reconfigure

    然后在gitlab网页端注册账号

    2. gitlab注册的账号和linux账号关系,git账号

    linux账号和gitlab内账号没有关系。安装完gitlab之后,linux系统会创建一个叫git的账号,之后对project的上传下拉操作都是通过git账号完成。

    3. 注册ssh key之后,以及使用ssh clone的过程。访问受linux sshd内ssh认证配置的影响。

    在gitlab上注册了ssh key之后,背后实际上gitlab会把注册的key写入git账号的~/.ssh/authorized_keys文件。这样,每次git clone/push/pull操作时,都是先ssh到linux的git账号,再进行后续操作。

    因为git的ssh方式会通过sshd服务,所以在linux上修改了sshd配置会影响git的使用。比如修改了ssh端口,则git也需要配置响应端口(很多时候会修改ssh的默认端口,从22改为一个大数字)。

    一般情况下,git ssh认证有公钥私钥就可以正常操作。但有的情况下,linux端会开双重认证 AuthenticationMethods publickey,password。这个时候再git clone git@****.git 的时候,会需要输入git账号自身的密码(可以想象成先登录到linux的git账号)。如果想要顺利进行,一般要通过root账号修改下git账号的密码,再通过验证。

    4. git ssh clone和http clone的区别。为什么ssh clone不可以,http clone却可以?

    git ssh 和 git http是两个相互独立的方式。git ssh通过ssh连接,受linuxsshd配置(git账户)影响;git http直接通过ip:port进行连接,不需要linux账户的信息,只需要在gitlab上注册的账号的用户名和密码。

    所以,有时候git ssh不成功时,通过ssh clone可以成功。

    5. git http clone 用户密码。全局配置文件~/.gitconfig内的[User].name项的作用。

    git http每次都要输账号密码,可以通过 git config credential.helper 相关命令存储账号密码。

    此外,在全局配置文件~/.gitconfig内也会有一个

    [user]
    name = testmm
    email = ***

    User项。这里的user.name和gitlab账号也是相互独立的。user.name代表的是在你提交commit时,显示的名字。比如,执行git lg:

    [ttt1@local transfer]$ git lg
    * 67ccd87 - (HEAD, origin/master, origin/HEAD, master) test123 (3 hours ago) <testmm>

    这里显示是testmm提交的修改,这不是gitlab内账号的名字,只是本地做的一个全局配置内的名字。

    但是在gitlab网页上看到的修改者还是以gitlab内的账号名字出现的。这是个不一样的地方。

  • 相关阅读:
    获取CheckBoxList当前选择项索引
    IE游览器与CMYK模式的JPEG格式图片不兼容
    jquery listbox左右移动 并且取值
    JS保留2位小数
    list.Contain 与 list.FindIndex()用法记录
    CSS 手型显示样式
    分页存储过程
    C#将datatable生成easyui的绑定tree 的json数据格式
    URL编码方法的比较
    UNIX I/O with TCP/IP
  • 原文地址:https://www.cnblogs.com/starRebel/p/14657881.html
Copyright © 2011-2022 走看看