• 本地ssh key连接多个git账号


    SSH介绍:SSH(安全shell)通常用于访问远程Linux系统。但其身份验证机制(私有本地密钥公共远程密钥配对)用于保护各种在线服务,从GitHubLaunchpad到运行在Microsoft Azure云上 Linux 。

    从Linux生成这些密钥非常简单。window环境下需要ssh client, 较好的选择是PuTTY 和Git Bash。

    SSH密钥由一对文件组成。一个是私钥,永远不应该与任何人共享。另一个是公钥。另一个文件是一个公钥,允许您登录到您提供的容器和VM。生成密钥时,您将使用ssh-keygen密钥存储在安全位置,以便在连接到实例时绕过登录提示。

    问题:在开发过程中,可能需要在本地同时连接到多个gitlab账户,但是一个用户的ssh key只能连接到一个git账户,这就需要创建多个ssh key,分别连接到不同的账户。

    解决:1.在下载好的Git中的bin目录下(一般是 C:Program FilesGitin)打开bash.exe输入命令ssh-keygen -t rsa -C "username" (注:username为你git上的用户名)

               2.在~/.ssh/目录下创建config文件

         Host github.com                                                                  
             HostName github.com                                                          
             PreferredAuthentications publickey                                           
             IdentityFile ~/.ssh/id_rsa_outer                                            
                                                                                         
        Host git.xxx.com                                                              
             HostName git.xxx.com                                                    
             PreferredAuthentications publickey                                           
             IdentityFile ~/.ssh/id_rsa_inner   

    使用git clone的时,可能会出现Permission denied(public key)错误,是因为git默认寻找id_rsa文件作为public key,使用ssh-add -l 发现密钥列表为空,所以使用$ ssh-add ~/.ssh/github_rsa添加密钥,再测试连接$ ssh -T git@github.com

    PS:创建密钥的时候,是指定email,所以我们创建的密钥是跟email有关系,当我们有网站是用的用一个email的时候,可以不用创建新的密钥,可以直接用之前创建的密钥

  • 相关阅读:
    OAuth2.0说明文档
    CentOS直接解压可用的memcached、nginx、keepalived
    CentOS离线安装GCC编译环境
    [交通安全]电动自行车认定为非机动车的文件
    修改sublime列编辑快捷键
    手机号归属地接口
    ubuntu下typora的gitee图床配置-----基于picgo
    spyder无法切换中文输入法
    lightgbm直方图算法
    xgboost原理分析
  • 原文地址:https://www.cnblogs.com/juicy-initial/p/13172607.html
Copyright © 2020-2023  润新知