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仓库进行交互。

相关推荐
雁于飞1 天前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
Light601 天前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou1 天前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)1 天前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL1 天前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
让子弹飞021 天前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
Yana.nice1 天前
yum list 和 repoquery的区别
linux
码出钞能力1 天前
更换libc.so导致linux变砖,通过LD_PRELOAD挽救
linux·服务器
小马学嵌入式~1 天前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
小猪咪piggy1 天前
【JavaEE】(24) Linux 基础使用和程序部署
linux·运维·服务器