問題:
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