Git-SSH配置
2017-07-16 本文已影响101人
zhCN_超
2016/07/17
windows用户请在git-shell中使用以下命令
Git是一个版本控制系统
Github和Gitlab都是基于Git
,前者是一个托管开源git仓库的服务器,后者是一个项目管理软件
工作和学习中,git仓库在远程服务器(Github
或者Gitlab
)上,而你使用这些仓库时,需要在服务器上用邮箱注册成为用户,而我们可能会在不同的终端上对仓库进行操作,这时你需要用注册时的邮箱在终端机生成公私钥对,并在服务器上针对自己的账号配置SSH key
以确保用户的合法性。当本机与多个仓库服务器交互时,我从网上整理了以下内容,希望可以帮助你。
前言
除非你在Github
和Gitlab
注册时使用了同一个邮箱地址,否则不建议进行以下操作:
$ git config --global user.name 'username'
$ git config --global user.email 'email'
建议你在对应服务器的项目根目录进行以上操作,但是去掉--gloable
选项
生成公私钥对
$ cd ~/.ssh
$ ssh-keygen -t rsa -C 'your-email'
回车之后,需要输入公私钥对文件名,默认为id_rsa
,建议换成自定义,否则多次生成会一直覆盖,之后三次回车
这时会在~/.ssh
目录中生成公钥文件id_rsa.pub
和私钥文件id_rsa
添加私钥
$ eval 'ssh-agent -s'
$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa
添加私钥至ssh-agent
高速缓存
如果私钥有密码的话,会被要求输入一次密码,在这之后ssh-agent
可直接使用该私钥,无需再次输入密码
配置文件
Host IP/Domain
HostName IP/Domain
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
~/.ssh
目录下新建名为config
(无后缀)文件,为每个ssh key
添加以下配置,IP/Domain
更换成Github
或Gitlab
的域名或IP
添加公钥
$ cat ~/.ssh/id_rsa.pub
复制上述内容
登录Github
或Gitlab
,在系统中找到自己的用户设置,将对应ssh key
的公钥添加用户设置中
测试
$ ssh -T git@IP/Domain
IP/Domain
更换成Github
或Gitlab
的域名或IP