git - github SSH 是如何工作的?
问题描述
我很好奇使用 git 克隆项目。为了克隆我们正在调用的项目:
git clone git@github.com:MY_GIT_USERNAME/PROJECT.git
所以我们在这里所做的,是以用户 git 的身份访问 github.com。我想当有一个 MY_GIT_USERNAME/PROJECT 是某种目录,它添加了一些访问和密钥,然后通过存储库验证到真正的 github 服务器,所以我们通过 git clone 访问的目录是某种代理一,仅用于验证和授权请求,对吗?
github 是否使用某种工具来存储所有 ssh 密钥?有没有这样的工具?
另外,如果 git clone 不能像这个一样工作,它是如何工作的?which 与典型的 ssh 命令相似是如何工作的?
解决方案
这只是一般的 SSH 身份验证。通常,URL 包含有关传输协议、远程服务器地址和存储库路径的信息。您将在其中将id_rsa.pub
(.pub
文件是您的公钥)提供给 Github 的 SSH 密钥。id_rsa
然后,当您连接到 Github 时,您的文件夹中有私钥~/.ssh
,然后用于通过 Github 验证您的信息。您将锁(公钥)放在您想要轻松访问的任何服务器上,并将(私钥)保存在您的机器上,并使用它来登录这些服务器;他们看到你有一把适合锁的钥匙,然后让你进去。
推荐阅读
- gcc - 用于 MAJIQ 管道安装的 Clang 编译器和 gcc 问题
- nginx - ngx_http_script_compile 与 ngx_http_compile_complex_value
- php - 在 PHP 中使用存储在数据库中的 MySQL 查询
- c# - 如何在 .NetCore 项目中为本地开发设置 Papercut SMTP 服务器
- javascript - 组合两个点击函数的方法,当一个点击函数有一个窗口大小的if语句时
- applescript - Applescript 等到模态消失
- sql - 根据 SQL Server 中的条件返回前 1 条记录
- html - 当某些行有表情符号而某些行没有时,如何使表格中的行垂直对齐?
- excel - 通过 VBA 将 Crystal Report 导出为 pdf
- android - 如何使用用户触摸事件绘制可调整大小的五边形?