zoukankan      html  css  js  c++  java
  • 关于ssh证书访问git仓库时的权限问题


        先前公司那边搭建了git仓库,我们写的代码就放在上面.用cygwin这套工具(里面包含了ssh-keygen用来生成ssh私钥和公钥证书,git用来下载和同步源码)来保证在windows上一样能用git.至于网上上的那个git windows版,就没去使用了.
        下午走的时候,因为公司同事先前同步了自己的代码到git上,我这边同步时候因为代码有冲突,所以先没去同步,对git使用还不熟悉,就先把cygwin里面自己主目录下的.ssh文件夹(就是这个文件夹,里面保存了自己的私钥,公钥,信任主机文件)整个压缩备份出来,打算晚上回去在自己电脑上再处理代码的事.
        回来后,在自己电脑上安装了cygwin,把先前备份出来的.ssh文件夹放到cygwin中的自己的主目录下,这个git clone从公司代码仓库中去取源码,结果出现了如下报错(部分内容涉及到隐私,我用5个星号代替了):
    $ git clone git@*****.git
    Cloning into *****...
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0750 for '/home/leipei/.ssh/id_rsa' are too open.
    It is recommended that your private key files are NOT accessible by others.
    This private key will be ignored.
    bad permissions: ignore key: /home/leipei/.ssh/id_rsa
    git@*****'s password:
    Connection closed by *****
    fatal: The remote end hung up unexpectedly
        首先是提示我自己的私钥的权限开放的太高,750.    然后又提示我输入远程git仓库连接密码,实际上先前连接git是不需要密码的,直接提供自己的私钥文件就行了.这回搞的人莫名其妙.我就没输入密码了,结果这次连接就被远程主机关掉了.
        第一直觉是.ssh文件夹里面的内容备份的有问题,文件损坏了.不过仔细看了下出错提示,是私钥文件的权限问题啊.去看了下权限:
    $ ls -l
    总用量 6
    -rwxr-x--- 1 leipei None 1679 九月 16 19:03 id_rsa
    -rwxr-x--- 1 leipei None  401 九月 16 19:03 id_rsa.pub
    -rwxr-x--- 1 leipei None  396 九月 16 19:03 known_hosts
        id_rsa文件(我的私钥文件)的权限确实是先前提示的750.这时候改了下权限:
        chmod 700 id_rsa
        然后又不放心,把公钥文件的权限用chmod改成了740.再去访问git仓库,呵呵,这回就直接能从远程把代码clone到本地了:
    $ git clone git@*****.git
    Cloning into mbook-reader-android...
    remote: Counting objects: 50, done.
    remote: Compressing objects: 100% (26/26), done.
    remote: Total 50 (delta 5), reused 0 (delta 0)Receiving objects  92%
    Receiving objects: 100% (50/50), 14.49 KiB, done.
    Resolving deltas: 100% (5/5), done.

  • 相关阅读:
    Protected和Default的区别
    将数组中负数放在正数前面
    java.io包和杯子测楼
    hadoop基础
    极限编程和JUnit
    接口和抽象类
    C# 中窗口AutoScaleMode属性
    计算机的自启动管理
    labview中的移位寄存器、循环隧道,自动索引隧道的区别
    发现C#winform编程中不常用的控件(一)<FlowLayoutPanel控件><拆分器控件Splitcontainer >
  • 原文地址:https://www.cnblogs.com/leipei2352/p/2179425.html
Copyright © 2011-2022 走看看