工具使用之Github的SSH配置

1 概述

Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。

2 设置Git的user name和email

$ git config --global user.name "xuhaiyan"
$ git config --global user.email "haiyan.xu.vip@gmail.com"

3 生成SSH密钥过程

3.1 检查SSH keys是否存在

(1)ls -al ~/.ssh
在这里插入图片描述
(2)cd ~/.ssh ----> ls
在这里插入图片描述
输入上面的命令,如果有文件id_rsa.pub或id_dsa.pub,则直接进入步骤4将SSH key添加到GitHub中,否则进入3.2步骤生成SSH key.

3.2 生成新的ssh key

(1)输入命令,每步直接回车

ssh-keygen -t rsa -C "your_email@youremail.com"

在这里插入图片描述
(2)翻译打印结果(每步直接回车)

Creates a new ssh key using the provided email Generating public/private rsa key pair.
//此处输入将要保存的路径,默认为当前路径
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<press enter>
//输入回车后提示输入一个类似于密码的自定义的通行证号,如果直接回车则为空
Enter passphrase (empty for no passphrase):<enter a passphrase>
//提示重新输入以便确认输入是否正确
Enter same passphrase again:<enter passphrase again>

(3)最后的结果
这里写图片描述

4 将ssh key添加到GitHub中

用自己喜欢的文本编辑器打开id_rsa.pub文件,里面的信息即为SSH key,将这些信息复制到GitHub的Add SSH key页面即可。

4.1 方式1——手动添加公钥到github

(1)点击SSH and GPG keys,点击右侧的New SSH key
在这里插入图片描述
(2)在Title处给该公钥取个名称,在Key部分将id_rsa.pub文件内容添加进去,然后点击“Add SSH key”按钮完成配置
在这里插入图片描述
(3)完成配置结果
这里写图片描述

4.2 方式2——命令行输入

(1) mac

pbcopy < ~/.ssh/id_rsa.pub

(2) windows

clip < ~/.ssh/id_rsa.pub

在这里插入图片描述
(3) linux

sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

5 测试

(1)输入命令

ssh -T git@github.com

在这里插入图片描述

6 本地的.git/config设置的仓库url地址如果是https需要改为git@github.com

这里写图片描述

$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "origin"]
        url = https://github.com/chenliguan/CodeLibs.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

重新clone git@github.com地址的仓库,如下图所示:

$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "origin"]
        url = git@github.com:chenliguan/CodeLibs.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

最后测试,不需要再输入账号密码:

$ git push origin master:master
Everything up-to-date

7 SSH和Http的区别

(1)第一种方式:走SSH,就是按照本篇博客里的,配置用户名、密码,生成秘钥,然后在gitlab上配置ssh,然后就可以了。

(2)第二种方式,走Http,HTTP的缺点是每次都会访问账号密码,但是现在的工具有记住密码,所以也比较方便。凭据管理器中,输入一次账号密码后就记忆。如果没有,就需要手动录入。
在这里插入图片描述

8 相关链接

如何生成SSH key

ssh Permission denied

如何生成SSH key

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值