问题:
iCode要求一个SSH公钥(public key)仅能给一个用户使用
当多人共用一台机器时,容易造成公钥重复的问题;
因为SSH公钥默认保存地址为:~/.ssh/id_rsa.pub
张三生成一个,李四不更改名字继续生成的话容易覆盖之前张三生成的key
解法:
第一步:每个用户生成一对自己专属的SSH密钥
用-f参数指定密钥文件的位置,把下面例子中的yangyang22换成你的名字,一路回车
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa.yangyang22
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/users/yangyang22/.ssh/id_rsa.yangyang22.
Your public key has been saved in /home/users/yangyang22/.ssh/id_rsa.yangyang22.pub.
The key fingerprint is:
23:e4:7f:df:52:92:fb:f5:49:20:d4:36:f0:2d:bc:de yangyang22@cp01-rdqa-dev383.cp01.baidu.com
第二步:在~/.ssh/config中指定各个用户的密钥地址
【注】~/.ssh/config文件的权限必须是644,
chmod 644 ~/.ssh/config
这个文件里面,每个用户有三行,一定要换行,前面同学的答案里面格式有点问题,不换行一定会报Permission denied
按下面方式配置config文件,就能实现不同用户使用不同的密钥
Host icode.baidu.com
User yangyang22
IdentityFile ~/.ssh/id_rsa.yangyang22
Host icode.baidu.com
User yinyan
IdentityFile ~/.ssh/id_rsa.yinyan
git clone ssh://yangyang22@icode.baidu.com就会用~/.ssh/id_rsa.yangyang22来认证
git clone ssh://yinyan@icode.baidu.com就会用~/.ssh/id_rsa.yinyan来认证
第三步:把自己的ssh公钥(.pub文件内容)贴到icode上
cat ~/.ssh/id_rsa.yangyang22.pub
在iCode右上角>个人设置>添加SSH Keys