当前位置: 代码网 > it编程>编程语言>Java > 【GitHub从入门到精通】GitHub配置SSH公钥实现免密码拉取代码和上传代码保姆级详细教程

【GitHub从入门到精通】GitHub配置SSH公钥实现免密码拉取代码和上传代码保姆级详细教程

2024年08月03日 Java 我要评论
本文详细讲解了如何在Windows、Linux和Mac平台上生成SSH公钥,并将其配置到GitHub,从而实现免密码拉取和上传代码的操作。步骤包括在各平台使用简单的ssh-keygen命令来生成SSH密钥对,获取生成的公钥并添加到GitHub账户中。文章还提供了在各平台验证SSH配置的方法,并附上了克隆和上传代码的具体示例。通过这些详细步骤,小白用户可以快速高效地配置SSH公钥,提高工作效率,避免每次操作时输入密码的繁琐操作,实现更安全的身份验证和远程操作。希望本教程能帮助读者顺利完成配置,为开发工作提供更

本文详细讲解了如何在windows、linux和mac平台上生成ssh公钥,并将其配置到github,从而实现免密码拉取和上传代码的操作。步骤包括在各平台使用简单的ssh-keygen命令来生成ssh密钥对,获取生成的公钥并添加到github账户中。文章还提供了在各平台验证ssh配置的方法,并附上了克隆和上传代码的具体示例。通过这些详细步骤,小白用户可以快速高效地配置ssh公钥,提高工作效率,避免每次操作时输入密码的繁琐操作,实现更安全的身份验证和远程操作。希望本教程能帮助读者顺利完成配置,为开发工作提供更多便捷。

在这里插入图片描述


在这里插入图片描述

前言

在开发过程中,使用git进行版本控制已经成为常态。通过配置ssh公钥,可以免去每次操作时输入密码的繁琐步骤,大大提高工作效率。本文将详细介绍如何在windows、linux和mac平台上生成和在github上配置ssh公钥,实现免密码拉取代码、上传代码。本文以linux平台进行实践演示并全程截图,mac和windows平台的操作方法大同小异,不再重复演示截图。

1. 什么是ssh公钥?

ssh(secure shell)是一种登录远程计算机并执行命令的加密协议。ssh 公钥是一对密钥中的公钥,用于加密数据,而对应的私钥则用于解密数据。通过这种机制,你可以安全地进行远程操作,而无需每次输入密码。

2. 为什么使用ssh公钥?

使用ssh公钥进行身份验证有以下好处:

  • 安全性高:使用密钥比密码更安全,因为密钥长度更长,不易被破解。
  • 提高效率:配置ssh公钥后,每次操作时无需重复输入密码。
  • 集中管理:可以在多个设备上使用相同的公钥进行身份验证,方便管理。

3. 生成ssh公钥

在linux上生成ssh公钥

  1. 打开终端。
  2. 输入以下命令生成ssh密钥对:
    ssh-keygen
    
  3. 所有询问都直接按回车键确认,直接使用默认配置。如下图所示,一共需要按三次回车。
    在这里插入图片描述

在mac上生成ssh公钥

  1. 打开终端。
  2. 输入以下命令生成ssh密钥对:
    ssh-keygen
    
  3. 按回车键确认默认保存路径(如:/users/用户名/.ssh/id_rsa)。
  4. 直接按回车键跳过密码短语设置。

在windows上生成ssh公钥

  1. 如果没有按照git,需要先按照。详细的安装过程,可以参考我的另一篇保姆级教程:《》,包你成功安装好git。
  2. 打开git bash,输入以下命令生成ssh密钥对:
    ssh-keygen
    
  3. 按回车键确认默认保存路径(如:c:\users\用户名\.ssh\id_rsa)。
  4. 直接按回车键跳过密码短语设置。

4. 配置ssh公钥到github

获取ssh公钥内容

你生成的公钥会保存在 ~/.ssh/ 目录下。以下步骤将指导你如何获取并添加到github。

在windows上获取公钥
  1. 如果没有按照git,需要先按照。详细的安装过程,可以参考我的另一篇保姆级教程:《》,包你成功安装好git。
  2. 打开git bash,输入以下命令查看公钥内容:
    cat ~/.ssh/id_rsa.pub
    
  3. 复制输出的内容。

注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!

在linux上获取公钥
  1. 打开终端。
  2. 输入以下命令查看公钥内容:
    cat ~/.ssh/id_rsa.pub
    
  3. 复制输出的内容。

注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!

在mac上获取公钥
  1. 打开终端。
  2. 输入以下命令查看公钥内容:
    cat ~/.ssh/id_rsa.pub
    
  3. 复制输出的内容

注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!

把公钥添加到github

  1. 登录你的github账户,访问 github
  2. 点击右上角的头像,选择“settings”(设置)。
  3. 在左侧栏中,点击“ssh and gpg keys”。
  4. 点击“new ssh key”。
  5. 在“title”(标题)中输入一个描述性名称(如:我的服务器)。
  6. 在“key”(密钥)文本框中粘贴你的公钥内容。
  7. 点击“add ssh key”按钮添加公钥。
    在这里插入图片描述
    在这里插入图片描述

5. 验证ssh设置

在linux上验证

  1. 打开终端。
  2. 输入以下命令测试与你的github连接:
    ssh -t git@github.com
    
  3. 成功连接后,会显示:
    hi 用户名! you've successfully authenticated, but github does not provide shell access.
    
    其中 用户名 是你的github用户名。

在这里插入图片描述

在mac上验证

  1. 打开终端。
  2. 输入以下命令测试与你的github连接:
    ssh -t git@github.com
    
  3. 成功连接后,会显示:
    hi 用户名! you've successfully authenticated, but github does not provide shell access.
    
    其中 用户名 是你的github用户名。

在windows上验证

  1. 打开git bash。
  2. 输入以下命令测试与你的github连接:
    ssh -t git@github.com
    
  3. 成功连接后,会显示:
    hi 用户名! you've successfully authenticated, but github does not provide shell access.
    
    其中 用户名 是你的github用户名。

6. 示例:拉取和上传代码

在linux上操作

克隆仓库
  1. 打开终端。
  2. 输入以下命令克隆仓库(替换 用户名/仓库名 为你的仓库链接):
    git clone git@github.com:用户名/仓库名.git
    

ssh的仓库地址可以按下图指示方向依次点击找到。
在这里插入图片描述

上传代码
  1. 进入仓库目录,添加、提交和推送代码:
    cd 仓库名
    # 添加所有更改
    git add .
    # 提交更改
    git commit -m "your commit message"
    # 推送到远程仓库
    git push origin main
    

在这里插入图片描述
在这里插入图片描述

在windows上操作

克隆仓库
  1. 打开git bash。
  2. 输入以下命令克隆仓库(替换 用户名/仓库名 为你的仓库链接):
    git clone git@github.com:用户名/仓库名.git
    
上传代码
  1. 进入仓库目录,添加、提交和推送代码:
    cd 仓库名
    # 添加所有更改
    git add .
    # 提交更改
    git commit -m "your commit message"
    # 推送到远程仓库
    git push origin main
    

在mac上操作

克隆仓库
  1. 打开终端。
  2. 输入以下命令克隆仓库(替换 用户名/仓库名 为你的仓库链接):
    git clone git@github.com:用户名/仓库名.git
    
上传代码
  1. 进入仓库目录,添加、提交和推送代码:
    cd 仓库名
    # 添加所有更改
    git add .
    # 提交更改
    git commit -m "your commit message"
    # 推送到远程仓库
    git push origin main
    

7. 结语

通过本教程,你已经学会了如何在windows、linux和mac平台上生成和配置ssh公钥,并实现免密码登录github进行代码拉取和上传操作。这不仅提高了工作效率,还提升了安全性。希望这篇详细的教程能帮助你顺利配置ssh公钥,为你的开发工作提供更多便利。如果遇到问题或有任何疑问,欢迎在评论区留言讨论。happy coding!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com