GitLab Public Key生成使用引导手册V1.0
2020年2月7日
定位SSH Key文件
在你生成Key文件前,你可以通过以下命令来确定你的系统是否已经存在SSH key。如果已存在,你可以跳过以下这些步骤,直接使用该Key**[配置GitLab SSH key](#配置GitLab SSH key)**:
Windows Command Prompt:
type %userprofile%\.ssh\id_rsa.pub
Git Bash on Windows / GNU/Linux / macOS / PowerShell:
cat ~/.ssh/id_rsa.pub
如果你看到一个以ssh-rsa开始的字符串时,证明SSH key已经存在了。
生成SSH Key
生成SSH Key
Git Bash on Windows / GNU/Linux / macOS:
ssh-keygen -t rsa -C "你的邮箱@themetechchina.com" -b 4096
是否将Key保存在默认路径:回车或者输入自定义路径
创建密码:输入密码或回车生成无密码Key
确认密码:再次输入相同密码或回车
默认路径的好处就在于SSH客户端会自动到默认路径下寻找key,从而免去额外的配置工作
如果在默认目录下已存在key,则需要将新生成的key存储到其他的路径里去,然后在.ssh/config文件里声明该Key将被哪个Host所使用。详见 [SSH Key自定义目录说明](#SSH Key自定义目录说明)
SSH Key自定义目录说明
如果你将GitLab的Key放到了一个自定义的路径下,你必须配置你的SSH客户端,让其能够找到你用来连接GitLab server的Key,你可以用以下命令(覆盖你的SSH key到other_id_rsa)
Git Bash on Windows / GNU/Linux / macOS:
eval $(ssh-agent -s)
ssh-add ~/.ssh/other_id_rsa
你需要讲这些配置保存在配置文件里。在一些OS里,OpenSSH客户端的配置文件保存在~/.ssh/config下。
下面为配置的示例:
Private GitLab server
Host [52.82.122.148]:8090 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
公钥需要具有其单一性,因为它将与你的账户进行绑定。 所以该Key是你通过SSH推代码到Repo时的唯一身份识别。
配置GitLab SSH key
查看已经生成或者已经存在的Key文件,并复制内容
Windows Command Prompt:
type %userprofile%\.ssh\id_rsa.pub | clip
Git Bash on Windows / PowerShell:
cat ~/.ssh/id_rsa.pub | clip
macOS:
pbcopy < ~/.ssh/id_rsa.pub
GNU/Linux (需要安装xclip):
xclip -sel clip < ~/.ssh/id_rsa.pub
访问GitLab CE:http://52.82.122.148:8090/ 并登陆
点击右上角头像选择Settings,然后在浏览器左边点击SSH Keys,粘贴刚刚复制的内容到Key输入框内并在Title输入框内命名该Key(如:My Dev Device)
点击 Add Key
使用Public Key克隆、同步Repo
创建一个新文件夹用于保存Repo同步文件并克隆整个Repo:
Git Bash on Windows / GNU/Linux / macOS:
mkdir 文件夹名称
cd 文件夹名称
git clone git@52.82.122.148:themetech/Docs.git
输入yes同意添加finger print到known_hosts(仅第一次需要)