现实中,肯定会有这种情况:在多台电脑上安装git,而远端的GitHub账号只有一个;该怎么解决呢?
我们知道第一次关联GitHub账号提交代码时,需要在git终端生成SSH key,接着在github上添加生成的秘钥即可。那么多个git与github关联,提交代码也是一样的。只需再次生成SSH key ,在github上多添加一个而已。既然这样,也没有什么新的技巧,最近换了一台新电脑,刚好做过,那就就着原来做过的在熟悉一次吧!以后兴许会用到。
实验环境
windows10
实现流程
生成SSH key
Linux时默认安装了SSH ,而Windows系统安装Git Bash应该也是带了SSh。我们可以在终端(windows在Gi Bash)输入ssh查看,如果出现以下所示,证明你的本机已经安装SSH,否则需要我们自行安装。
Solarzhou@DESKTOP-UKOBPUA MINGW64 ~/Desktop
$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
紧接着输入 ssh-keygen -t rsa ,什么意思呢?就是指定rsa生成密钥,接着输入回车(不需要密码),然后就可以生成两个文件id_rsa和id_rsa.pub , 而id_rsa 是密钥,id_rsa.pub 是公钥。
Solarzhou@DESKTOP-UKOBPUA MINGW64 ~
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/dell/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/dell/.ssh/id_rsa.
Your public key has been saved in /c/Users/dell/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:v7CAQn9RCQ32wIHpCilhDUvg9VI9ODh/iymRLevKULo Solarzhou@DESKTOP-UKOBPUA
The key's randomart image is:
+---[RSA 2048]----+
|ooo..=O+ |
|+ +oo o |
| +.+ + o . |
|o o + o . . |
|o. o . . o . |
|Eo. . . |
+----[SHA256]-----+
仔细阅读上面提示,已经知道生成的秘钥公钥路径了。在 /c/Users/username/.ssh/ 找,可能会隐藏起来,相信你可以找到。
在github上添加SSH KEY
在settings选项里找到 SSH and GPG keys ,
点击右上角 绿色按钮 new SSH key ,进行添加。
接着只需要将刚才生成的id_rsa.pub 文件内容复制到 Key 这一栏即可,title 可以不用填写,点击 Add SSH key 按钮就完事了。
SSH KEY添加成功后,输入 ssh -T git@github.com ,如果出现如下所示证明添加成功了。此时便可向github上提交代码。
Solarzhou@DESKTOP-UKOBPUA MINGW64 ~
$ ssh -T git@github.com
Hi tzhou2018! You've successfully authenticated, but GitHub does not provide shell access.
从一名不羁的码农开始,欢迎关注我的微信公众号