按需生成多個(gè)秘鑰
ssh-keygen -t rsa -C your_email@github.com 生成的時(shí)候, 會(huì)讓你指定key的名字, 就是這句話Enter file in which to save the key (/Users/kirin/.ssh/id_rsa):, GitHub的這個(gè)我是直接打了回車, 生成的秘鑰的名字就是默認(rèn)的id_rsa. 如果我打了id_codehub 那么就按照這個(gè)名字生成秘鑰. 這個(gè)名字叫什么無(wú)所謂, 主要是一會(huì)兒我們會(huì)在配置文件中使用生成的私鑰的地址, 自己不弄錯(cuò)了就好了, 當(dāng)然最好還是取個(gè)好名字.
新建config 重點(diǎn)
在默認(rèn)的.ssh文件夾下新建config文件, 沒(méi)有后綴, 就叫config. 我的路徑是: /Users/kirin/.ssh, 建好的文件路徑是: /Users/kirin/.ssh/config.
- 這里在于
Host和HostName, 這個(gè)要按照git@github.com:kirin/practice-demo.git@與:之前來(lái)填寫(xiě). 這里就是github.com, 其他的觸類旁通吧! - IdentityFile 是剛剛生成的私鑰的路徑.
- PreferredAuthentications 這里我們填選
publickey, 即以公鑰方式認(rèn)證. - User 暫時(shí)不知道干啥用的..
# 配置github.com
Host github.com
HostName github.com
IdentityFile /Users/kirin/.ssh/id_rsa
PreferredAuthentications publickey
User username1
# 配置codehub.example.com
Host codehub.example.com
HostName codehub.example.com
IdentityFile /Users/kirin/.ssh/id_codehub
PreferredAuthentications publickey
User kirin
最后測(cè)試
[~/.ssh]$ ssh -T git@codehub.example.com
Welcome to GitLab, xxx
然后就好了
遇到的問(wèn)題:
- 改填私鑰的地方填了公鑰, 他會(huì)和你說(shuō) "你的私鑰沒(méi)有受到保護(hù)!", 私鑰按理來(lái)說(shuō)應(yīng)該是只有所有者才能讀的. 但是你填了公鑰(默認(rèn)權(quán)限644), 導(dǎo)致其他人也能讀了, 這么說(shuō)也就不安全了. 如果遇到這個(gè)提示, 注意看下是不是自己的秘鑰寫(xiě)錯(cuò)了. 錯(cuò)誤提示在下面??:
錯(cuò)誤提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/kirin/.ssh/id_codehub.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.