当前位置: 首页 > news >正文

在WSL的系统中配置免密和GitHub传输数据(SSH)

在 WSL(Windows Subsystem for Linux)系统中配置免密与 GitHub 传输数据,主要包括设置 SSH 密钥对、将公钥添加到 GitHub 账户以及确保可以通过 WSL 正常使用这些密钥。以下是详细的步骤:

1. 检查现有 SSH 密钥

首先,检查是否已经存在 SSH 密钥对。SSH 密钥通常存放在 ~/.ssh 目录下。

ls -al ~/.ssh

查找名为 id_rsa.pub 的文件。如果这些文件已经存在,你可以跳过第 2 步直接进入第 3 步。否则,请继续生成新的 SSH 密钥。

2. 生成新的 SSH 密钥

如果你没有现成的 SSH 密钥,或者想要为 GitHub 创建一个新的专用密钥,可以使用以下命令生成一个新的 SSH 密钥对。

ssh-keygen -C "your_email@example.com"

-C 参数允许你添加一个标签(通常是你的电子邮件地址),这有助于识别密钥。
按提示操作,可以选择默认位置保存密钥,也可以设置密码短语(passphrase)。如果不希望每次使用时都需要输入密码,可以留空。

3. 添加 SSH 密钥到 SSH 代理

启动 SSH 代理并添加新生成的私钥:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

如果你设置了密码短语,此时需要输入该密码。

4. 将公钥添加到 GitHub

复制公钥内容:

cat ~/.ssh/id_rsa.pub

然后登录到 GitHub,按照以下步骤操作:

  • 进入右上角的头像菜单,选择 Settings。
  • 在左侧边栏中点击 SSH and GPG keys。
  • 点击 New SSH key 按钮。
  • 在 Title 字段中给这个密钥起个名字(例如,My WSL)。
  • 将刚才复制的公钥粘贴到 Key 字段中。
  • 点击 Add SSH key 完成添加。

5. 测试 SSH 连接

确保一切配置正确后,可以通过以下命令测试与 GitHub 的连接:

ssh -T git@github.com

你应该会看到一条消息,确认你已经成功地通过 SSH 连接到 GitHub。

6. 使用 SSH URL 克隆仓库

最后,使用 SSH URL 来克隆你的 GitHub 仓库。可以在仓库页面找到 SSH URL,通常格式如下:

git clone git@github.com:<username>/<repository>.git

替换 username 和 repository 为你的 GitHub 用户名和仓库名称。

7. 解决端口 22 被拒绝的问题

如果你遇到 ssh: connect to host github.com port 22: Connection refused 错误,可能是因为网络环境限制了 SSH 端口 22 的访问。这时可以尝试使用 GitHub 提供的备用 SSH 端口 443。

修改 SSH 配置文件。编辑 ~/.ssh/config 文件(如果不存在则创建它),并添加以下内容:

Host github.comHostname ssh.github.comPort 443User git

保存文件后,再次尝试通过 SSH 连接到 GitHub:

ssh -T git@github.com
http://www.lryc.cn/news/512432.html

相关文章:

  • Python中元组(tuple)内置的数据类型
  • chrome缓存机制以及验证缓存机制
  • 医药进出口交易|基于SSM+vue的医药进出口交易系统的设计与实现(源码+数据库+文档)
  • 爱快 IK-Q6000 WiFi6无线路由器 简单开箱评测和拆解
  • 时间敏感网络中全面分析与调度的模型驱动方法
  • 统计颜色Count Color(POJ2777)题解
  • MySQL数据的增删改查(一)
  • 国产文本编辑器EverEdit - 如何给小众语言开发大纲分析脚本
  • 【数据结构】线性数据结构——数组
  • QT---------GUI程序设计基础
  • 2、Bert论文笔记
  • Linux之ARM(MX6U)裸机篇----7.蜂鸣器实验
  • Zabbix 监控平台 添加监控目标主机
  • SpringCloud整合skywalking实现链路追踪和日志采集
  • html文件通过script标签引入外部js文件,但没正确加载的原因
  • OpenHarmony开发板环境搭建
  • 【Rust自学】7.6. 将模块拆分为不同文件
  • Python入门:8.Python中的函数
  • MySQL什么情况下会加间隙锁?
  • 【服务器开发及部署】code-server 显示git graph
  • Linux 终端查看 nvidia 显卡型号
  • 助你通过AI培训师中级考试的目录索引
  • 百度PaddleSpeech识别大音频文件报错
  • Lucene 漏洞历险记:修复损坏的索引异常
  • RabbitMQ基础篇之快速入门
  • 如何自定义 Kubernetes KubeSphere 默认 Logo:详细实现方案
  • 标准库以及HAL库——按键控制LED灯代码
  • Echarts+vue电商平台数据可视化——webSocket改造项目
  • Flink中并行度和slot的关系——任务和任务槽
  • 基于西湖大学强化学习课程的笔记