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

简洁直白的github快速入门教程(云主机)

如果你不是云主机,也可以使用本地的linux,这里不提供windows的解决方案!

1. 在云主机上安装 Git

首先,确保你的云主机上安装了 Git。你可以使用以下命令来安装它:

# 对于 Debian/Ubuntu 系统
sudo apt-get update
sudo apt-get install git

# 对于 CentOS/RHEL 系统
sudo yum install git

# 对于 Arch Linux 系统
sudo pacman -S git

2. 配置 Git 用户信息

安装完 Git 后,配置你的 Git 用户信息。这些信息会用于标识你的提交记录。

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

3. 创建 SSH 密钥

为了将云主机与 GitHub 绑定,你需要生成 SSH 密钥对并将公钥添加到 GitHub 账户中。

在云主机上执行以下命令生成 SSH 密钥:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按回车键接受默认文件路径,并设置一个安全的密码(或者可以直接跳过密码步骤)。

4. 添加 SSH 密钥到 SSH Agent

启动 ssh-agent 并添加私钥到 SSH Agent 中:

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

5. 将公钥添加到 GitHub

现在,将公钥内容复制到剪贴板:

cat ~/.ssh/id_rsa.pub

将打印的内容复制,然后登录你的 GitHub 账户:

  1. 打开 GitHub 的 SSH 设置页面。
  2. 点击 New SSH key
  3. 填写 Title(可选),并将公钥粘贴到 Key 文本框中。
  4. 点击 Add SSH key

6. 测试连接

你可以通过以下命令测试云主机与 GitHub 的连接:

ssh -T git@github.com

如果连接成功,你会看到类似下面的消息:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

7. 克隆或推送代码

现在,你可以从 GitHub 克隆仓库或推送代码了:

# 克隆仓库
git clone git@github.com:username/repository.git

# 推送代码
git add .
git commit -m "Your commit message"
git push origin main

这就是将云主机与 GitHub 绑定的全部步骤。如果你有多个 GitHub 账户或需要配置更多 SSH 密钥,可能需要进一步配置 ~/.ssh/config 文件。

关于4096

生成密钥时出现了 -b 4096 这个的作用是什么?

4096 在生成 SSH 密钥时表示生成的 RSA 密钥长度是 4096 位。这是一种常见的选择,旨在提高密钥的安全性。

为什么选择 4096 位?

  1. 安全性: RSA 密钥的强度与其位数直接相关。较长的密钥长度意味着更高的安全性,因为它需要更多的计算资源才能破解。4096 位的密钥比 2048 位的密钥更难破解,因此更安全。

  2. 现代标准: 虽然 2048 位 RSA 密钥在目前也是安全的,但为了未来的安全性,4096 位被认为是一个更好的选择,尤其是当密钥需要使用很长一段时间时。

是否有必要使用 4096 位?

对于大多数个人或中小型项目,2048 位的密钥已经足够安全。然而,如果你处理的是非常敏感的数据或需要考虑长期的安全性,那么选择 4096 位是个明智的决定。

生成 2048 位密钥

如果你觉得 4096 位的密钥生成时间较长或出于其他考虑想生成 2048 位密钥,可以使用以下命令:

ssh-keygen -t rsa -b 2048 -C "your_email@example.com"

总的来说,选择 4096 位密钥是为了提升安全性,是一种推荐的做法。


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

相关文章:

  • Unity新版InputSystem短按与长按,改键的实现
  • 电脑如何访问手机文件?
  • [答疑]这个消息名是写发送数据还是接收数据
  • Java 中 HashSet 集合元素的去重
  • Hnu电子电路实验2
  • 【面试题】JVM部分[2025/1/13 ~ 2025/1/19]
  • elementui Cascader 级联选择器的使用总结
  • 你真的懂吗系列——串口通信
  • uniapp ios sticky定位,内部 u-tabs(包含scroll-view)消失问题
  • 【QT】基础入门学习
  • 如何使用elementui实现一个根据页面进度实时增长/前进的进度条
  • DBA实战手记,技术书的黑神话
  • Codeforces Round 971 (Div. 4)——C题题解
  • 最直接显示 ubuntu 版本号的命令
  • 6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)
  • idea向git上推送被拒绝 push to master was rejected
  • 代码随想录27期|Python|Day52|​动态规划|​647. 回文子串|516. 最长回文子序列
  • react js 路由 Router
  • 类和对象(中)
  • 哈喽GPT-4o,现代程序员提高编码能力的正确打开方式
  • NVIDIA AI Workbench 让 Windows 上的 GPU 使用更加简便
  • 基于Spring搭建SpringMvc框架
  • pptpd配置文件/etc/pptpd.conf详解
  • 数据库中的主键和外键分别是什么意思?
  • Leetcode面试经典150题-207.课程表
  • 【代码随想录训练营第42期 Day56打卡 - 图论Part6 - 并查集2 - 冗余连接问题