论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
开源技术
›
开源技术
›
设置多个SSH密钥以访问不同平台(GitHub、Gitee) ...
设置多个SSH密钥以访问不同平台(GitHub、Gitee)
宁睿
论坛元老
|
2024-9-28 05:17:19
|
显示全部楼层
|
阅读模式
楼主
主题
1970
|
帖子
1970
|
积分
5920
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
SSH密钥
SSH(Secure Shell)密钥是一种用于安全地访问远程服务器和服务的方法。在 Git 版本控制中,SSH密钥用于在客户端和服务器之间创建加密的通信渠道,通常用于与 Git 仓库托管服务(如 GitHub、GitLab 或 Gitee)举行交互。
SSH密钥由两部分组成:私钥和公钥。私钥必须保密生存,不应泄漏给任何人或上传到任何服务器。公钥则可以安全地共享,通常会上传到服务器,以便服务器验证客户端的身份。
生成密钥和检察密钥
生成密钥 ssh-keygen -t rsa -C “上面的邮箱”
注:执行上面命令后,连续回车3次
检察密钥 cd ~/.ssh
cat id_rsa.pub
检查秘钥 ssh -T -v git@github.com
SSH参数
ssh-keygen -t ed25519 -C “your_email@example.com” -f ~/.ssh/key_name
在 ssh-keygen 命令中,-t 和 -f 选项分别指定了要生成的密钥类型和密钥文件的存储路径。
-t 选项用于指定加密算法类型。ed25519 是一种椭圆曲线算法,它提供了一种相对较新的、更安全且性能更好的密钥生成方式。除了 ed25519,ssh-keygen 还支持其他几种算法,如 rsa、dsa、ecdsa 等。选择 ed25519 是由于它在安全性、性能和密钥巨细方面都有很好的表现。
-f 选项用于指定生成的私钥和公钥文件的文件名。假如不指定 -f 选项,ssh-keygen 默认会在 ~/.ssh 目录下生成名为 id_ed25519(私钥)和 id_ed25519.pub(公钥)的文件。假如指定了 -f 选项,则可以自定义文件名和路径。比方,-f ~/.ssh/custom_key 会将私钥生存为 ~/.ssh/custom_key,公钥生存为 ~/.ssh/custom_key.pub。
当你看到命令 ssh-keygen -t ed25519 -C “comment” -f ~/.ssh/key_name 时,它意味着:
利用 ed25519 算法生成密钥。
在生成的公钥文件中包罗注释(-C “comment”)。
将私钥和公钥分别生存为 ~/.ssh/key_name 和 ~/.ssh/key_name.pub。
请注意,-C 选项用于提供一个新行注释,通常用于辨认密钥,比方您的电子邮件所在。
设置多个SSH密钥
在利用 Git 举行版本控制时,为了可以或许与多个平台如 GitHub、Gitee 等交互,您大概必要为每个平台设置不同的 SSH 密钥。以下是怎样设置多个 SSH 密钥以访问不同平台的步调:
生成 SSH 密钥: 对于每个平台,您必要生成一个唯一的 SSH 密钥。打开终端或命令提示符,利用以下命令生成新的 SSH 密钥,将 your_email@example.com 替换为您在对应平台上利用的电子邮件所在,key_name 替换为您为这个密钥指定的名称(比方 gitee、github):id_rsa_home
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/key_name
复制代码
当体系提示您输入密码时,您可以设置一个 passphrase 来进步安全性,也可以留空。
将 SSH 公钥添加到平台: 生成的密钥对中,公钥(key_name.pub)必要添加到对应平台的 SSH 密钥设置中。比方,在 GitHub 或 Gitee 的个人设置中找到 SSH 密钥部分,并添加新的公钥。
设置 SSH 客户端: 为了让 SSH 客户端知道何时利用哪个密钥,您必要在
~/.ssh/config
文件中设置每个密钥对应的主机。假如这个文件不存在,您可以创建它。利用文本编辑器打开 ~/.ssh/config,并添加以下内容,为每个平台指定一个 Host 和对应的 IdentityFile
# GitHub 配置
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/github
# Gitee 配置
Host gitee.com
User git
Hostname gitee.com
IdentityFile ~/.ssh/gitee
——————————————————
#my
Host github.com
HostName github.com
User zhainanya
IdentityFile ~/.ssh/id_rsa_home
#gitee
Host gitee.com
HostName gitee.com
User zhainanya
IdentityFile ~/.ssh/id_rsa_github_home
复制代码
这样,当您实验连接到 github.com 或 gitee.com 时,SSH 将主动利用对应的私钥。
测试 SSH 连接: 利用以下命令测试 SSH 连接是否成功:
ssh -T git@github.com
ssh -T git@gitee.com
复制代码
假如设置正确,您应该会看到一条欢迎消息。
Hi zhainanya! You’ve successfully authenticated, but GitHub does not provide shell access.
克隆
当您克隆或推送到一个特定的平台时,Git 会根据您在 ~/.ssh/config 中设置的信息主动选择正确的 SSH 密钥。比方:
# 克隆 GitHub 仓库
git clone git@github.com:username/repository.git
# 克隆 Gitee 仓库
git clone git@gitee.com:username/repository.git
复制代码
pull push 不同的平台
当您利用 Git 与多个平台如 GitHub、Gitee 等举行交互时,您大概必要在不同的远程仓库之间举行 pull 和 push 操作。以下是怎样在这些平台上举行操作的步调:
设置远程仓库: 首先,您必要在本地 Git 仓库中添加多个远程仓库的所在。这可以通过 git remote add 命令来完成。比方:
# 添加 GitHub 仓库
git remote add github git@github.com:username/repository.git
# 添加 Gitee 仓库
git remote add gitee git@gitee.com:username/repository.git
复制代码
这里 github 和 gitee 是自定义的远程仓库别名,您可以利用任何其他名称来标识它们。
从远程仓库拉取(Pull): 要从远程仓库拉取最新更改,您可以利用 git pull 命令,并指定远程仓库别名和分支。
推送到远程仓库(Push): 要将本地更改推送到远程仓库,您可以利用 git push 命令,并指定远程仓库别名和分支。
# 推送到 GitHub 的 master 分支
git push github master
# 推送到 Gitee 的 master 分支
git push gitee master
# 如果您在本地分支上设置了上游分支,可以直接使用:
git push github
git push gitee
复制代码
处理惩罚分支不同步的环境: 假如您在不同的平台上工作,大概会碰到分支不同步的环境。在这种环境下,您大概必要先从一个平台拉取更改,然后办理大概的冲突,再推送到其他平台。
# 假设您先从 GitHub 拉取更改
git pull github
# 解决任何可能的合并冲突
# 然后将更改推送到 Gitee
git push gitee
复制代码
利用 SSH 密钥举行认证: 假如您为每个平台设置了不同的 SSH 密钥,Git 将主动利用正确的密钥举行认证,条件是您的 ~/.ssh/config 文件设置正确。
通过以上步调,您可以在多个平台上举行 pull 和 push 操作,确保您的代码在各个平台之间保持同步。记得在推送之前先拉取最新的更改,以避免不必要的冲突。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
宁睿
论坛元老
这个人很懒什么都没写!
楼主热帖
java前置学习
【RocketMQ】消息的存储
iOS Widget
简单的用Python对手机号进行加密 ...
【PostgreSQL】PostgreSQL重建与主库不 ...
k8s v-1.20版本部署详细过程[实测可用 ...
基于单片机的压力测控仿真设计(#0024) ...
离线数仓建设,企业大数据的业务驱动与 ...
❤️肝下25万字的《决战Linux到精通》 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
云原生
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表