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

新服务器初始化:Git全局配置与SSH密钥生成

前言

在初始化一台新服务器或重装系统后,除了基础的环境配置,为服务器设定清晰的身份标识并建立与代码托管平台的安全通信是至关重要的一步。本文将记录为新服务器配置Git全局用户信息,并生成专属SSH密钥对以连接GitHub、Gitee等平台的标准流程。

1. 配置Git全局用户信息

目的:
此步骤为服务器上的Git操作设定一个全局的用户身份。后续在这台服务器上执行的任何git commit操作,无论是由开发者手动执行还是由自动化脚本触发,都会附带上此用户名和邮箱。这对于代码版本历史的清晰度和可追溯性至关重要。

操作命令:

在服务器终端中执行以下命令,请将"Your Name""your.email@example.com"替换为您自己的信息。

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
  • --global标志意味着此配置将应用于当前用户在该服务器上操作的所有Git仓库。
    在这里插入图片描述

2. 为服务器生成专属SSH密钥

目的:
为服务器创建一对独立的SSH密钥,用于向GitHub等平台进行身份验证。这把密钥代表了服务器自身的“数字身份”。为服务器使用专用密钥,而不是复用个人开发机的密钥,是一种安全最佳实践。它能实现权限的最小化和隔离:即使服务器的密钥不慎泄露,也只需在代码托管平台禁用此密钥即可,不会影响到您个人的访问权限。这对于CI/CD、自动化部署等场景尤为重要。

操作命令:

在服务器终端中执行以下命令以生成新的SSH密钥对。

# -t 指定加密算法为rsa, -b 指定密钥长度为4096位, -C 添加注释,通常为邮箱
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"

在这里插入图片描述

执行后,系统会提示您选择密钥的保存位置和设置密码。对于自动化任务,通常建议直接按回车键三次,接受默认路径(~/.ssh/id_rsa)并且不为密钥设置密码(passphrase),以确保自动化脚本在执行时不会因等待密码输入而中断。

3. 在代码托管平台部署公钥

目的:
密钥对生成后,私钥(id_rsa)将保留在服务器上,而公钥(id_rsa.pub)需要被添加到您希望服务器访问的代码托管平台账户中。平台通过验证服务器能否正确使用私钥来确认其公钥的合法性,从而授权其访问。

操作流程:

a. 获取服务器公钥内容
在服务器上,使用cat命令显示公钥文件的全部内容,并将其复制。

cat ~/.ssh/id_rsa.pub

在这里插入图片描述

您会看到一长串以ssh-rsa开头、以您的邮箱结尾的字符,这就是需要复制的公-钥。

b. 添加到GitHub/Gitee

  1. 登录您的GitHub或Gitee账号。
  2. 进入个人设置(Settings)。
  3. 找到“SSH and GPG keys”(SSH和GPG密钥)菜单选项。
  4. 点击“New SSH key”(添加SSH密钥)。
  5. 在“Title”(标题)字段中,为这个密钥起一个易于识别的名称,例如“My Production Server”。
  6. 将刚才从服务器复制的完整公钥内容粘贴到“Key”(密钥)文本框中。
  7. 保存即可。
  8. 在这里插入图片描述

总结

完成以上步骤后,您的新服务器便拥有了合法的Git提交身份,并建立了与远程代码仓库的安全连接。这是一个标准且必要的初始化流程,为后续的代码拉取、自动化部署和其他开发运维工作奠定了坚实的基础。

http://www.xdnf.cn/news/20362.html

相关文章:

  • 【Canvas与图标】古铜色“HTML”图标
  • eclipse 安装 lombok
  • 【基础-单选】下列哪一项不属于ArkUI组件的公共事件?
  • JVM调优总结
  • ECharts Gallery:Apache官方数据可视化模板库,助你快速制作交互图表并实现深度定制
  • 微服务的编程测评系统22-项目部署结束
  • 基于Echarts+HTML5可视化数据大屏展示-图书馆大屏看板
  • 软考 系统架构设计师系列知识点之杂项集萃(142)
  • JVM中如何调优新生代和老生代?
  • 基于LSTM深度学习的网络流量测量算法matlab仿真
  • C++ 内存模型:用生活中的例子理解并发编程
  • linux C 语言开发 (三) 建立云服务器
  • C++ 小游戏:拍桌子
  • Nmap网络扫描工具详细使用教程
  • 算法学习路径
  • 基于 Gemini 的 CI/CD 自动化测评 API 集成实战教程
  • Browser Use:打造你的浏览器自动化助手
  • Python数据可视化科技图表绘制系列教程(六)
  • 【Python自动化】 21 Pandas Excel 操作完整指南
  • 小杰机器学习(two)——导数、损失函数、斜率极值最值、微分规则、切平面与偏导数、梯度。
  • Rust 登堂 之 Deref 解引用(十)
  • 一文掌握工业缺陷检测项目实战(Pytorch算法训练、部署、C++ DLL制作、Qt集成)
  • 微信小程序(uniapp)实现连接蓝牙
  • cuda-NCCL笔记(1)-- 初步了解使用NCCL
  • Python 多线程与多进程入门指南
  • Windows 设备音频录制 | WASAPI 音频数据采集 / 环回录制
  • 【基础-单选】singleton模式下首次进入的执行顺序是
  • C++趣味编程:鸡兔同笼与票务计算
  • cocos2d. 3.17.2 c++如何实现下载断点续传zip压缩包带进度条
  • 【VoNR】VoNR 不等于 VoLTE on 5G