开发者

openssl pem转cer/der,p12,crt格式

开发者 https://www.devze.com 2018-05-11 13:05 出处:原创
1.把PEM转成PKCS12格式1openssl pkcs12 -export -out ca.p12 -in ca.pem -inkey ca.key -passin pass:'whatever' -passout pass:'whatever' 2. 把pem转成crt(包含私钥)1openssl pkcs12 -expo

在大数据运维当中,如HADOOP,Storm等,各节点需要相互通信,正常情况下Linux通信需要提供用户名和密码,如果每次都人工干预输入用户名密码,这样显然是非常不方便的,为了方便个节点通信,我们经常会用到SSH免密登陆,让各节点自动通过安全认证,不影响正常通信.本文将以Ambari两天测试主机为例,进行演示.

一 环境准备

1).操作系统:

Centos6.5 mini版

2).网络环境

主机名称                       IP地址

ambariserver            192.169.199.152

ambariagent             192.168.199.199

在hosts下做好相应配置

二 主要配置

2.1 在ambariserver上生成公.私钥对.

以 root(或者其他用户,本文以root用户为例)身份登录到系统

cd    #进入用户主目录.(/root目录,其他用户默认在/home/username 目录下)

ssh-keygen -t rsa -P ''      # 注:最后是两个单引号

openssl pem转cer/der,p12,crt格式

即:以rsa算法,生成公钥、私钥对,-P ''表示空密码。该命令运行完后,会在个人主目录下生成.ssh目录,里面会有二个文件id_rsa(私钥) ,id_rsa.pub(公钥)

2.2导入公钥

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

openssl pem转cer/der,p12,crt格式

执行完以后,可以在本机上测试下,用ssh连接本机:ssh localhost (或ssh ambariserver),如果还是提示要输入密码,说明还没起作用,还有一个关键的操作

chmod 600 .ssh/authorized_keys          # (修改文件权限,否则不起作用)

然后再测试下 ssh localhost ,如果不需要输入密码,就连接成功,表示已完成一台主机的设置.

2.3在ambariagent主机生成密钥,并复制到ambariserver主机

已root用户登录主机

cd       #切换到主目录下

ssh-keygen -t rsa -P ''          #和2.1步相同,生成无密码的公钥、密钥

通过scp命令,把公钥文件发放给ambariserver(即:刚才已经做好的那台机器)

scp /root/.ssh/id_rsa.pub root@ambariserver:/root/.ssh/id_rsa_01.pub

openssl pem转cer/der,p12,crt格式

这样执行完成后,此台主机已完成操作.我们返回ambariserver主机

将ambariagent主机密钥导入:

cat  /root/.ssh/id_rsa_01.pub >> /root/.ssh/authorized_keys   #更多的机器重复此步.导入id_rsa_02 03 04....pub

这样,ambariserver这台机器上,就有所有主机的公钥了。

2.4将ambariserver上最全的公钥复制到其他机器

继续在ambariserver主机上执行命令

scp /root/.ssh/authorized_keys root@ambariagent:/root/.ssh/authorized_keys

openssl pem转cer/der,p12,crt格式

修改其它机器上authorized_keys文件的权限

在ambariagent主机执行命令:

chmod 600 /root/.ssh/authorized_keys

至此,全部配置已完成

三.验证

在每台主机上,均用 ssh 连接其它机器的hostname,如果能正常无密码连接成功,表示全部操作成功.

小结:SSH免密登陆主要思路是在各节点上生成公钥、私钥,然后将公钥发放其它所有节点。RSA算法是非对称加密算法,仅公布“公钥”,只要私钥不外泄,还是不能解密的,所以安全性依然有保障。

如果本步骤失败,根据个人经验,多半是权限问题,请检查用户是否具有足够权限。另外,这里也整理了一些SSH免密码设置失败的原因,请移步 ssh 免密码设置失败原因总结

0

精彩评论

暂无评论...
验证码 换一张
取 消