linux git ssh配置过程

Linux Git SSH 配置全过程指南

1. 检查并安装必要的软件

bash 复制代码
# 检查是否已安装Git和SSH
git --version
ssh -V

# 如果未安装,执行以下命令安装
sudo apt update
sudo apt install git openssh-client -y

2. 生成SSH密钥对

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"
# 或使用RSA算法(如果系统不支持ed25519)
# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# 按提示操作(建议直接按回车使用默认路径和空密码)

3. 将公钥添加到Git托管平台

复制公钥内容

bash 复制代码
cat ~/.ssh/id_ed25519.pub
# 或
# cat ~/.ssh/id_rsa.pub

添加到Git平台

  • GitHub: Settings → SSH and GPG keys → New SSH key
  • GitLab: Preferences → SSH Keys
  • Bitbucket: Personal settings → SSH keys

4. 测试SSH连接

bash 复制代码
# GitHub测试
ssh -T git@github.com

5. 配置Git全局设置

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

6. 使用SSH克隆仓库

bash 复制代码
git clone git@github.com:username/repository.git

到这里就可以了

7. 可选:配置多个SSH密钥

如果需要为不同平台使用不同密钥:

  1. 创建config文件
bash 复制代码
nano ~/.ssh/config
  1. 添加配置示例

    GitHub账户

    Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github
    IdentitiesOnly yes

    公司GitLab账户

    Host gitlab.company.com
    HostName gitlab.company.com
    User git
    IdentityFile ~/.ssh/id_rsa_work
    IdentitiesOnly yes

8. 验证配置

bash 复制代码
# 检查Git配置
git config --list

# 检查SSH配置
ssh -vT git@github.com  # 详细输出连接过程

9. 常见问题解决

权限问题

bash 复制代码
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

连接被拒绝

  • 检查防火墙设置
  • 确认SSH服务在服务器上运行
  • 验证网络连接

完成以上步骤后,您应该能够通过SSH协议安全地与Git仓库进行交互。

相关推荐
加油vekiki3 分钟前
linux服务器搭建docker、docker-compose
linux·服务器·docker·容器
鱼香rose__7 分钟前
常用文件管理命令
linux
水上冰石16 分钟前
测试环境生成https自签名证书tls的步骤
linux·服务器·https
誰能久伴不乏21 分钟前
Qt 线程为什么和 Linux pthread 不一样?事件循环、QObject 线程归属与串口上位机正确架构
linux·qt·架构
不做无法实现的梦~23 分钟前
PX4怎么使用使用PlotJuggler分析PX4日志
linux·嵌入式硬件·机器人·自动驾驶
_leoatliang31 分钟前
基于Python的深度学习以及常用环境测试案例
linux·开发语言·人工智能·python·深度学习·算法·ubuntu
半夏微凉半夏殇40 分钟前
从多仓库到单仓库:如何高效迁移并统一管理多个Git项目
git
网宿安全演武实验室42 分钟前
Linux Rootkit 手法解析(上):用户态的“隐身术”与检测思路
linux·网络·安全·apt·攻防对抗
dump linux1 小时前
Linux DRM GPU 驱动框架详解
linux·驱动开发·嵌入式硬件
Howrun7771 小时前
Linux_C++_日志实例
linux·运维·c++