一、想自己熟悉原理,一步步操作的可以按下官方教程:
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