zoukankan      html  css  js  c++  java
  • github或gitee的ssh和gpg切换

    我个人习惯是凡SSH的都独自一对密钥,GPG同理。所以切换github、gitee等各种账号的时候就需要经常修改配置文件。

    首先,确认自己github/gitee配置了SSH和GPG公钥

    git config --list
    # 至少要有下面几条,最后一条不是必须的
    user.name=XXXXXXXX
    user.email=YYYYYYY@gmail.com
    user.signingkey=ZZZZZZZZZZZZ
    commit.gpgsign=true
    

    上面这些可以自己通过配置文件配置

    cat ~/.gitconfig 
    
    [user]
    #	github-XXXX
    	name = XXXX
    	email = TYYYYY@153.com
    	signingkey = asdnankdakndk
    
    # .....省略其他内容
    
    [commit]
    	template = /Users/ashiamd/.stCommitMsg
    	gpgsign = true
    


    切换github/gitee账户的ssh和gpg,就只要修改上述~/.gitconfig 文件,然后执行下面两个主要流程

    1. SSH部分
      查找 ssh-agent进程,然后kill,保证等下添加的ssh认证信息是对应的用户
      ps aux |grep 'ssh-agent'
      
      结果如下
      ashiamd           2685   0.0  0.0  4309300   2404   ??  S     4:04下午   0:00.02 /usr/bin/ssh-agent -l
      ashiamd           3226   0.0  0.0  4399480    792 s000  R+    4:09下午   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agent
      
      杀死 PID为2685的进程
      kill 2685
      
      ps aux |grep 'ssh-agent'
      ashiamd           3283   0.0  0.0  4399480    792 s000  R+    4:10下午   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agent
      
      查看现有的ssh密钥对,ssh添加用户(隐私问题,把文件名都改了)
      ls ~/.ssh
      
      AAA          BBB      CCC       known_hosts
      AAA.pub      BBB.pub  CCC.pub   
      DDD            EEE      FFF     GGG
      DDD.pub        EEE.pub  FFF.pub GGG.pub
      config             HHH     III
      gitconfig-copy     HHH.pub III.pub
      
      ssh-add ~/.ssh/AAA
      
      查看是否多出来ssh-agent,有就正常
      ps aux |grep 'ssh-agent'
      ashiamd           3785   0.0  0.0  4399480    792 s000  R+    4:15下午   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agen
      ashiamd           3765   0.0  0.0  4300084   2280   ??  S     4:15下午   0:00.01 /usr/bin/ssh-agent -l
      
    2. GPG部分
      同样杀死gpg-agent
      ps aux |grep 'gpg-agent'
      ashiamd           2618   0.0  0.0  4468668   1616   ??  Ss    4:03下午   0:00.32 gpg-agent --homedir /Users/ashiamd/.gnupg --use-standard-socket --daemon
      ashiamd           4710   0.0  0.0  4399480    804 s000  S+    4:18下午   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox gpg-agen
      
      
      kill 2618
      
      然后执行下面这条,之后git commit会要求输入密码(GPG生成密钥时输入过的)
      export GPG_TTY=$(tty)
      
      ps:如果不小心在输入密码的时候按了ctrl+C,会发现没法正常输入密码了,这时候记得关掉当前terminal然后杀死对应的进程。
      这个时候会看到一个CPU跑了90%多的进程,kill它就对了,然后重新export GPG_TTY=$(tty)
      top
      
    (Ashiamd的github个人学习笔记)[https://ashiamd.github.io/docsify-notes/#/README] ~小尾巴~
  • 相关阅读:
    MVC跨域CORS扩展
    基于T4的生成方式
    开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
    青瓷引擎问答集锦(一)
    青瓷引擎使用心得——修改引擎的loading界面
    走近青瓷引擎(海外用户评测报告)
    青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 10(排行榜界面&界面管理)
    青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 9(登陆等待&结算界面)
    青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 8(登陆界面)
    青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 7(服务器连接&数据处理)
  • 原文地址:https://www.cnblogs.com/Ashiamd/p/14011599.html
Copyright © 2011-2022 走看看