SSH免密钥互信及企业案例


SSH远程免密码: 
原理简述:客户端 创建公钥和私钥,公钥是锁,私钥是自己留在客户端的钥匙。 客户端将公钥(锁)发出到服务端,以后自己就能用客户端本地的私钥进行登陆,不用输入密码!
1.客户端,和服务端都 执行命令后生成公钥和私钥 (客户端IP: 130, 服务端IP :131):
ssh-keygen -t rsa -C "ssh-client"      <-----------------> ssh-keygen
其中-C 是用来做描述的, 可以不用这个参数
密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。
所以  可以把命令简写为: ssh-keygen
2.客户端 将公钥 发送给服务端的特定位置,并改名。(需要在服务端   mkdir /root/.ssh/)

scp /root/.ssh/id_rsa.pub root@192.168.126.131:/root/.ssh/authorized_keys 

或者
ssh-copy-id  -i  .ssh/id_rsa.pub root@192.168.126.131
3.修改服务端收到的公钥权限(IP:131)
chmod 600 /root/.ssh/authorized_keys
4.客户端ssh登陆服务端实现免密码    (第一次登陆需要输入yes)
ssh  root@192.68.126.131   
ssh -l root 192.168.126.131
注意:要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
 
===============================================
公司的一个需求:
ABCD等多台服务器  需要传输文件到 S服务器上,但需要免交互。
 
解决方案:
ABCD等多台服务器上 利用ssh-keygen命令生成公钥 和 私钥, 将其中一台服务器的公钥/root/.ssh/id_rsa.pub传输到 S服务器 改名为 ./ssh/authorized.key;然后 同样在BCD服务器上创建公钥和私钥,通过查看公钥文件,然后将每台服务器的公钥文件内容拷贝到 S服务器的 authorized.key 文件中。
解决问题!

 

 
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告