生成SSH key
windows系统中,在任意位置右键单击,选择“Git Bash Here”。
mac系统中,直接用终端进行操作。
cd ~
mkdir .ssh
cd .ssh
在 .ssh目录下生成秘钥对:
ssh-keygen -t rsa -C [你的邮箱名称] -b 4096
Enter file in which to save the key (/Users/linxiaozhou/.ssh/id_rsa)
这里会首先问你秘钥对(即公钥和私钥)的名称,你只需要输入名字即可。
这个名字可以任意,你能区分即可。
如果你不输入,则会默认使用 id_rsa 做为文件名。
Enter passphrase (empty for no passphrase)
之后,会让你输入一个密码。
如果你不输入密码,则一旦你的私钥泄露,任何拿到你私钥的人都可以直接做你权限范围内的任何事;
如果你输入密码,则即使其他人拿到了你的私钥,在一些操作(如推送push)之前仍要输入这个密码才能操作。
从安全级别来说,输入密码会更安全;从便捷性来说,不输入密码更方便。
Enter same passphrase again
如果上一步你输入了密码,则这里重复一遍;如果没有,则直接回车。
之后,在你的个人目录(~/.ssh/)下,就会生成两个文件,文件名以你第一步输入的名称命名。如 id_office 和 id_office.pub;其中,id_office 是私钥,id_office.pub 是公钥(pub即public缩写)。
在gitlab/github中添加ssh公钥
在左侧找到SSH Keys:
在输入框中粘贴你的公钥,一般会自动帮你填写title,如果没有,你可以手动填写。
填写完后,点击“Add key”即可。
配置server
一般来说,当你将公钥放入gitlab后,你用命令行clone的时候是不需要输入密码的(除了你自己设置的私钥密码),如果你碰到了这个问题,可以在你的个人目录(~/.ssh/)下,添加一个文件,文件名为 config,内容如下:
host git-server
user 你的名字
hostname git.konkawise.com
port 22
identityfile ~/.ssh/你的私钥名称
参考文章:
使用SSH链接到GitHub
GitLab和SSH密钥