遇到一个第三方提供的证书、公钥与私钥不匹配的问题,用来测试LINUX服务的使用证书和key登录的功能。但是,第三方提供的私钥和公钥不匹配,导致一直登录不成功能。最后,只好从私钥中提取公钥,才使测试通过。
首先Client 上:
- cd ~/.ssh
- 将私钥内容放到文件cmca中,并且chmod 0600 cmca
- 提取公钥:ssh-keygen -y -f cmca > cmca.pub 并且chmod 0600 cmca.pub
- 将证书内容放到 cmca.cer中,并且chmod 0600 cmca.cer
- ssh-agent bash
- ssh-add ./cmca
- 在linux 服务器上准备好后,就可以用如下命令登录:
ssh -i cmca.pub oss_tester1@<server-ip>
或者
ssh -i cmca.cer oss_tester1@<server_ip>
在linux 服务器上:
1. 创建测试帐号oss_tester1
useradd oss_tester1
2. 创建目录
mkdir -p /home/oss_tester1/.ssh
chmod 0755 /home/oss_tester1/.ssh
3. 创建文件
将私钥内容拷贝到 /home/oss_tester1/.ssh/id_rsa
chmod 0600 /home/oss_tester1/.ssh/id_rsa
将client生成的cmca.pub的内容拷贝到 /home/oss_tester1/.ssh/id_rsa.pub
并且chmod 0600 id_rsa.pub
将cmca.pub中的内容拷贝到/home/oss_tester1/.ssh/authorized_keys中
并且chmod 0600 /home/oss_tester1/.ssh/authorized_keys