这里都不再强调SSH Key的作用了,首先SSH的安全性要高于Https。最重要的是有了SSH再也不用每次pull或push输入密码了。下面就介绍如何生成ssh key,主要通过下面的一行命令即可:
这样就ssh key就大功告成了。可以通过下面的命令来查看生成的ssh key
将会看到如下的信息
我们要将这个key的内容复制下来,下面还有用处
通过步骤1生成的ssh key还不能直接与github进行通信,我们需要将ssh key添加到github上才能建立通信,首先打卡github的设置
通过步骤1和2这时我们直接去clone项目时仍然会提示权限不够的如下图:
然后填入下面的内容即可:
上述的User换成自己的邮箱即可,这时我们已经可以从github clone项目了,但是由于限制github clone的速度可能会很慢。这里需要进行下面的设置来提升clone的速度
通过root用户打开下面的配置文件 /etc/proxychains.conf ,并添加如下的内容:
然后保存退出即可,这样就可以快速的clone工程了。
打开git命令行,执行以下命令: ssh-keygen -t rsa -C "youremail"
按提示一直回车即可,生成文件 id_rsa 和 id_rsa.pub ,路径为 C:\Users\Administrator\.ssh\
用记事本打开 id_rsa.pub ,复制全部内容。
登陆github.com,点击头像,找到 Setting - SSH and GPG keys -new SSH key ,将key复制并添加
登陆github.com,点击头像,找到 Your repositories - New ,开始新建仓库
复制仓库的SSH地址
在放置项目的位置打开git命令行,执行以下命令将仓库克隆到本地 git clone git@github.com:liangzhici/py-steup-test.git
d出安全提示,输入 yes 即可。
新建文件进行上传测试,内容随意
在项目内打开git命令行,按顺序执行以下命令
成功
完善中
声明:本教程全部为本人亲历,部分内容参考整理自网络或其他渠道。
Github 链接已有仓库时的认证,是通过使用SSH 的公开密钥认证的。
首先,创建SSH Key ,语法:
$ ssh-keygen -t rsa -C "content neirong"
-t :密钥的类型
-C : 用于识别密钥的注释
-C 一般大家都写的是Email邮箱
以下小者测试的例子:
$ ssh-keygen -t rsa -C "add wm public ssh"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/xx/.ssh/id_rsa):
Created directory '/c/Users/\351\207\212\345\246\202\347\247\230/.ssh'.
下面是要输入的密码:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/xx/.ssh/id_rsa
Your public key has been saved in /c/Users/xx/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:NGpvF0aaCWM5LsyZz6uTsqPI1UxEiLI9xCOEXdcIDX4 add wm public ssh
The key's randomart image is:
+---[RSA 3072]----+
|o+..==.o |
|+.=o..o.. |
|.= ...E o . |
|. oo.* * * |
| .*.+ S o |
| += . . . |
| . +o o . |
|o + o o . |
|oo.+.o. |
+----[SHA256]-----+
小者设置的密码是空。
id_rsa 文件是私有密钥,id_rsa.pub是公开密钥。
查看公开密钥的方法:
$ cat ~/.ssh/id_rsa.pub
把本地设置的公开密钥添加至GitHub中。
现在验证一下用手中的私有密钥与GitHub进行认证和通信了。
语法:
$ ssh -T git@github.com
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes (这里输入yes)
出现以下说明成功通信:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
若有不当之处,敬请原谅。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)