Git使用SSH协议拉取代码

本文提供了一种简单的方法,通过脚本自动生成GitLab SSH密钥对,并将公钥复制到剪贴板,适用于Mac用户。对于非Mac用户,文中给出了相应系统的命令替代方案。按照教程步骤,用户可以在GitLab上添加SSH密钥,实现安全的Git克隆操作。
摘要由CSDN通过智能技术生成

一、想自己熟悉原理,一步步操作的可以按下官方教程:

1.官网有详细说明   https://docs.gitlab.com/ee/ssh/index.html#generate-an-ssh-key-pair

2.如果公司有gitlab,一般详明说明在此:https://gitlab.XX-company.com/help/ssh/README#generating-a-new-ssh-key-pair

二、工具方式 
为了方便指导新员工,写了一个简单的脚本,大家可以直接复制,保存为SHELL文件,然后执行即可。

#!/bin/bash

if [ ! $1 ]; then
echo "邮箱不能为空!"
echo "Usage: ./CreateSSHKey.sh youremail@domain.com"
exit 1;
fi

#邮箱判断标准
findstr="[A-Za-z0-9._]+@[A-Za-z0-9.]+\.[a-zA-Z]{2,4}"
result=$(echo $1 | egrep -o "${findstr}")
if [ ! $result ]; then
echo "邮箱格式不正确"
exit 1;
fi

ssh-keygen -P ""  -f `echo ~/`"/.ssh/id_rsa"  -t rsa -C "${1}" ; \
echo -e "\n\033[1;33;41m The public key had been copied to your clipboard. \033[0m"; \
echo -e "\n\033[1;5mGo >> \033[0;36;4mhttp://git.yourcompany.com/profile/keys\033[0m Paste this ssh public key.\n"; \
echo "===============" ; \
cat ~/.ssh/id_rsa.pub; \
#此命令是把公钥复制到剪贴版,只支持mac,后面有其它版本,或者不用此命令,手动复制也行
pbcopy < ~/.ssh/id_rsa.pub; \

echo "==============="

比如保存为CreateSSHKey.sh(适用mac,注意上面代码中有注释,有一条命令只针对mac有用,不是mac可以直接去掉,手工复制脚本输出的SHA256开头的字符串),按如下命令执行即可

chmod +x CreateSSHKey.sh
./CreateSSHKey.sh  youremail@yourdomain.com

按照以上提示去gitlab的/profile/keys路径上粘贴相关公钥即可使用。

git clone ssh://xxxxx

附:以下部分摘自官方:

上面代码中有一段注释仅对mac有效,如果是其它系统,可以按如下方式更改:

macOS:

pbcopy < ~/.ssh/id_ed25519.pub

Linux (requires the xclip package):

xclip -sel clip < ~/.ssh/id_ed25519.pub

Git Bash on Windows:

cat ~/.ssh/id_ed25519.pub | clip

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值