Git使用前准备

创建GitHub账户,在Username一栏中用英文和数字输入要创建的ID,您的公开页面的URL会用到这个ID。
https://github.com/join注册

设置SSH Key

GitHub上链接已有仓库时的认证,是通过使用了SSH的公开密钥认证方式进行的。现在让我们来创建公开密钥认证的所需的SSH Key ,并将其添加至GitHub。已经创建过的读者,请用现有的密钥进行设置。

1、检查是否已经有SSH Key

如果没有密钥则不会有此文件夹,有则备份删除
$cd ~/.ssh

git检查是否有SSH Key

2、生成新的密钥

$ssh-keygen -t rsa -C "email"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):(按回车键)
Created directory '/c/Users/Administrator/.ssh'.
Enter passphrase (empty for no passphrase):(输入密码)
Enter same passphrase again:(再次输入密码)

设置好后

+---[RSA 2048]----+
|        o=o .    |
|        ..Eo .   |
|  .      *o..    |
| o o o o=o.      |
省略。。。。。

添加公开密钥

在GitHub中添加公开密钥,今后就可以用私有密钥进行认证了。
点击右上角的账户设定按钮(Account  Settings或者Settings),选择SSH and GPG keys 菜单后,就会出现页面,点击New SSH key  或者 Add SSH key ,会出现Title和Key两个输入框。在Title中输入适当的密钥名称。Key部分请粘贴id_rse.pub文件里的内容。id_rse.pub 的内容可以用如下方法查看

1、进入到SSH文件夹

$ cd ~/.ssh

2、查看是否有id_rse.pub 文件

$ ls

git查看文件

3、查看密钥

$ cat id_rsa.pub
ssh-rsa 公开密钥 email

4、将SSH私钥添加到 ssh-agent

Git Bash 执行 eval "$(ssh-agent -s)"
Git for Windows 执行 eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

4、添加密钥到Github 账号

首先,复制id_rsa.pub
clip < ~/.ssh/id_rsa.pub,进入Github Account设置后,新增SSH key,邮件复制Key,Title可以随意

git添加密钥

添加成功之后,创建账户时所用的邮箱会接到一封提示“公共密钥添加完成”的邮件。
完成以上设置后,就可以用手中的私人密钥与GitHub进行认证和通信了。让我们来实际试一试

测试:输入:ssh -T [email protected]
正常会弹出:Hi kyne0116! You've successfully authenticated, but GitHub does not provide shell access.

如果没有就进行反而弹出:ssh: connect to host github.com port 22: Connection timed out
就进行下面修改
解决办法:(linux下)
~$ cd ~
~$ cd .ssh/
~$ touch config
在.ssh目录下创建一个config文件,输入如下内容:(使用linux的文件输入,查询百度)
Host github.com 
User xxx@163.com (你注册github时的邮箱,这里使用注册的用户名也行) 
Hostname ssh.github.com 
PreferredAuthentications publickey 
IdentityFile ~/.ssh/id_rsa 
Port 443 

可以把以上内容拷到config文件里面,注意修改你的邮箱,保存并关闭
在进行测试

$ ssh -T [email protected]

The authenticity of host '[ssh.github.com]:443 ([192.30.253.122]:443)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? (输入:y)
Please type 'yes' or 'no': (输入:yes)
Warning: Permanently added '[ssh.github.com]:443,[192.30.253.122]:443' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':(输入创建时的密钥)
Hi MiMang66! You've successfully authenticated, but GitHub does not provide shell access.

git链接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章