本文详细讲解了如何在windows、linux和mac平台上生成ssh公钥,并将其配置到github,从而实现免密码拉取和上传代码的操作。步骤包括在各平台使用简单的ssh-keygen命令来生成ssh密钥对,获取生成的公钥并添加到github账户中。文章还提供了在各平台验证ssh配置的方法,并附上了克隆和上传代码的具体示例。通过这些详细步骤,小白用户可以快速高效地配置ssh公钥,提高工作效率,避免每次操作时输入密码的繁琐操作,实现更安全的身份验证和远程操作。希望本教程能帮助读者顺利完成配置,为开发工作提供更多便捷。
【github从入门到精通】github如何配置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公钥
- 打开终端。
- 输入以下命令生成ssh密钥对:
ssh-keygen
- 所有询问都直接按回车键确认,直接使用默认配置。如下图所示,一共需要按三次回车。
在mac上生成ssh公钥
- 打开终端。
- 输入以下命令生成ssh密钥对:
ssh-keygen
- 按回车键确认默认保存路径(如:
/users/用户名/.ssh/id_rsa
)。 - 直接按回车键跳过密码短语设置。
在windows上生成ssh公钥
- 如果没有按照git,需要先按照。详细的安装过程,可以参考我的另一篇保姆级教程:《》,包你成功安装好git。
- 打开git bash,输入以下命令生成ssh密钥对:
ssh-keygen
- 按回车键确认默认保存路径(如:
c:\users\用户名\.ssh\id_rsa
)。 - 直接按回车键跳过密码短语设置。
4. 配置ssh公钥到github
获取ssh公钥内容
你生成的公钥会保存在 ~/.ssh/
目录下。以下步骤将指导你如何获取并添加到github。
在windows上获取公钥
- 如果没有按照git,需要先按照。详细的安装过程,可以参考我的另一篇保姆级教程:《》,包你成功安装好git。
- 打开git bash,输入以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub
- 复制输出的内容。
注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!
在linux上获取公钥
- 打开终端。
- 输入以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub
- 复制输出的内容。
注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!
在mac上获取公钥
- 打开终端。
- 输入以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub
- 复制输出的内容
注意:该文件内容只有一行,复制时不要换行操作,否则后面无法使用!!
把公钥添加到github
- 登录你的github账户,访问 github。
- 点击右上角的头像,选择“settings”(设置)。
- 在左侧栏中,点击“ssh and gpg keys”。
- 点击“new ssh key”。
- 在“title”(标题)中输入一个描述性名称(如:
我的服务器
)。 - 在“key”(密钥)文本框中粘贴你的公钥内容。
- 点击“add ssh key”按钮添加公钥。
5. 验证ssh设置
在linux上验证
- 打开终端。
- 输入以下命令测试与你的github连接:
ssh -t git@github.com
- 成功连接后,会显示:
其中hi 用户名! you've successfully authenticated, but github does not provide shell access.
用户名
是你的github用户名。
在mac上验证
- 打开终端。
- 输入以下命令测试与你的github连接:
ssh -t git@github.com
- 成功连接后,会显示:
其中hi 用户名! you've successfully authenticated, but github does not provide shell access.
用户名
是你的github用户名。
在windows上验证
- 打开git bash。
- 输入以下命令测试与你的github连接:
ssh -t git@github.com
- 成功连接后,会显示:
其中hi 用户名! you've successfully authenticated, but github does not provide shell access.
用户名
是你的github用户名。
6. 示例:拉取和上传代码
在linux上操作
克隆仓库
- 打开终端。
- 输入以下命令克隆仓库(替换
用户名/仓库名
为你的仓库链接):git clone git@github.com:用户名/仓库名.git
ssh的仓库地址可以按下图指示方向依次点击找到。
上传代码
- 进入仓库目录,添加、提交和推送代码:
cd 仓库名 # 添加所有更改 git add . # 提交更改 git commit -m "your commit message" # 推送到远程仓库 git push origin main
在windows上操作
克隆仓库
- 打开git bash。
- 输入以下命令克隆仓库(替换
用户名/仓库名
为你的仓库链接):git clone git@github.com:用户名/仓库名.git
上传代码
- 进入仓库目录,添加、提交和推送代码:
cd 仓库名 # 添加所有更改 git add . # 提交更改 git commit -m "your commit message" # 推送到远程仓库 git push origin main
在mac上操作
克隆仓库
- 打开终端。
- 输入以下命令克隆仓库(替换
用户名/仓库名
为你的仓库链接):git clone git@github.com:用户名/仓库名.git
上传代码
- 进入仓库目录,添加、提交和推送代码:
cd 仓库名 # 添加所有更改 git add . # 提交更改 git commit -m "your commit message" # 推送到远程仓库 git push origin main
7. 结语
通过本教程,你已经学会了如何在windows、linux和mac平台上生成和配置ssh公钥,并实现免密码登录github进行代码拉取和上传操作。这不仅提高了工作效率,还提升了安全性。希望这篇详细的教程能帮助你顺利配置ssh公钥,为你的开发工作提供更多便利。如果遇到问题或有任何疑问,欢迎在评论区留言讨论。happy coding!
发表评论