Win10配置SSH key , 使Git提交代码不用每次都输入用户名和密码

使用 https 和 SSH 克隆项目的区别

  • 前者可以随意克隆github上的项目 , 而不管是谁的;后者则只有项目的拥有者或管理员在成功添加 SSH-key 后才可以克隆

  • https-url 在push的时候需要验证用户名和密码 , 而 SSH 在push的时候不需要输入用户名 , 如果配置 SSH-key 的时候设置了密码 , 则需要输入密码 , 否则不需要输入密码

检查当前电脑是否已有 SSH-key

  • 运行 Git Bash , 执行命令 , 如果显示如下则不需要创建 SSH-key
    在这里插入图片描述

创建 SSH-key 的方法

  • Git Bash 执行命令

    ssh-keygen -t rsa -C "[email protected]"
    
  • 代码参数含义

    • -t 指定密钥类型( 可以省略 , 默认rsa )
    • -C 设置注释文字( 比如邮箱 )
    • -f 指定密钥存储文件名
  • 由于以上代码省略了 -f 参数 , 因此 , 运行上面那条命令后会提示输入一个文件名 , 用于保存刚才生成的 SSH-key 代码 , 推荐不输入文件名直接回车使用默认文件名 , 就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件

  • 接着又会提示输入两次密码(该密码是push代码的时候需要输入的密码 , 而不是github管理者的密码),也可以不输入密码 , 直接按回车 , 那么push的时候就不需要输入密码

添加 SSH-key 到 github的方法

  • 拷贝 id_rsa.pub 文件的内容 , 将其添加到github账号的settings里的SSH key中

  • 注意拷贝的 SSH key 代码的前后不要留有空格或回车

  • 可以不输入Title , 默认Title会使用邮箱号

测试 SSH key 是否配置成功

  • Git Bash 中执行如下命令

    ssh -T [email protected]
    
  • 输入 yes 并回车

  • 如果之前设置了SSH密码则输入密码并回车

  • 显示成功信息

2020.03.09 记录BUG

Connection reset by 192.30.255.112 port 22 fatal: Could not read from remote repository

  • 解决方式

    • 检查github是否可以ping通 && github网页是否可以正常打开
      • 如果不行则重新配置hosts文件中的IP映射,以省去DNS解析加快国外网站访问速度
    • 重新配置本机和github的SSH KEY
    • 检查克隆到本地的存储库的git config中的username和email是否和github中的相同
    • 本地存储库执行命令

2020.03.12 记录BUG

  • 今天告别了windows,正式开始使用linux

git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation

  • 执行如下命令即可
eval "$(ssh-agent -s)"
ssh-add

linux-deepin配置hosts和ssh又来了一遍如下~


github.global.ssl.fastly.net

github.com

修改hosts

刷新DNS缓存  sudo /etc/init.d/networking restart

测试ping通

---------------------------

sudo rm -rf ~/.ssh

ssh-keygen -C "your email"

cat id_rsa.pub

---------------------------

添加sshkey 至github

本地测试sshkey  ssh -T [email protected]

---------------------------

我感觉还是https的方式好用啊!
发布了49 篇原创文章 · 获赞 29 · 访问量 1906

猜你喜欢

转载自blog.csdn.net/Brannua/article/details/104460969