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

在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.com
  Hostname ssh.github.com
  Port 443
  User git

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

ssh -T git@github.com

http://www.kler.cn/a/459243.html

相关文章:

  • flink-connector-kafka 3.4源码编译
  • 1Panel自建RustDesk服务器方案实现Windows远程macOS
  • 试用ChatGPT的copilot编写一个程序从笔记本电脑获取语音输入和图像输入并调用开源大模型进行解析
  • WireShark抓包学习
  • 大模型在自动驾驶领域的应用和存在的问题
  • MAC环境安装(卸载)软件
  • 自研国产零依赖前端UI框架实战008 用户表单以及随机ID
  • 网络原理(六): UDP 协议
  • nacos-gateway动态路由
  • Java工具类Arrays
  • GPIO相关寄存器,点灯
  • 一次 MySQL IF 函数的误用导致的生产小事故
  • linux上虚拟机显示网络不可用的解决方法
  • 建立一个Macos载入image的实例含界面
  • docker 部署mysql8
  • MySQL如何执行.sql 文件:详细教学指南
  • 今日总结 2024-12-30
  • LeetCode热题100-两数之和【JavaScript讲解】
  • 信息系统常见的系统架构
  • 老鑫网络安全培训课程收费多少钱
  • 知识图谱+大模型:打造全新智慧城市底层架构
  • 数据链路层知识要点
  • VSCode 插件开发实战(十): 环境变量Env设置与管理
  • svn分支相关操作(小乌龟操作版)
  • 添加购物车业务代码
  • 概率论与随机过程--作业2