(Git)GitHub、GitLab、Gitee添加SSH认证

466 阅读1分钟

生成ssh-key

  • 打开终端,执行如下指令
// github ---- SSH-key
ssh-keygen -t rsa -C "it@github.com" -f ~/.ssh/github_rsa
// gitlab ---- SSH-key
ssh-keygen -t rsa -C "it@gitlab.com" -f ~/.ssh/gitlab_rsa
// gitee ---- SSH-key
ssh-keygen -t rsa -C "it@gitee.com" -f ~/.ssh/gitee_rsa

配置 ssh-config

  • 新建config文件
touch ~/.ssh/config
  • 键入如下内容
# GitHub
Host github.com
    User github_user
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_rsa

# GitLab
Host gitlab.com
    User gitlab_user
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_rsa

# Gitee
Host gitee.com
    User gitee_user
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_rsa

配置 ssh-agent

  • 私钥免密设置
// Start
eval $(ssh-agent -s)
  • 将私钥加入ssh-agent
// GitHub
ssh-add ~/.ssh/github_rsa
// GitLab
ssh-add ~/.ssh/gitlab_rsa
// Gitee
ssh-add ~/.ssh/gitee_rsa

配置 .gitconfig

  • github用户名
git config --global user.name "github_user"
git config --global user.email "it@github.com"
  • gitlab用户名
git config --global user.name "gitlab_user"
git config --global user.email "it@gitlab.com"
  • gitee用户名
git config --global user.name "gitee_user"
git config --global user.email "it@gitee.com"

上传 public-key

  • 终端执行以下指令,复制公钥,粘贴至目标网站
// GitHub
pbcopy < ~/.ssh/github_rsa.pub
// GitLab 
pbcopy < ~/.ssh/gitlab_rsa.pub
// Gitee
pbcopy < ~/.ssh/gitee_rsa.pub

验证SSH

// GitHub
ssh -T git@github.com
// GitLab 
ssh -T git@10.1.128.18
// Gitee
ssh -T git@gitee.com
  • 接着输入“yes”
  • 若看到如下内容,则验证通过
// GitHub
"Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access."
// GitLab
"Welcome to GitLab, (xxxx)!"
// Gitee
"Hi xxxx! You've successfully authenticated, but Gitee does not provide shell access."

  • 若看到如下内容,则验证未通过
// GitHub
"git@github.com: Permission denied (publickey)."
// GitLab
"git@gitlab.com: Permission denied (publickey,keyboard-interactive)."
// Gitee
"git@gitee.com: Permission denied (publickey)."