SSH免密钥互信及企业案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]:/root/.ssh/authorized_keys 

或者
ssh-copy-id  -i  .ssh/id_rsa.pub [email protected]192.168.126.131
3.修改服务端收到的公钥权限(IP:131)
chmod 600 /root/.ssh/authorized_keys
4.客户端ssh登陆服务端实现免密码    (第一次登陆需要输入yes)
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 文件中。
解决问题!

 

 

以上是关于SSH免密钥互信及企业案例的主要内容,如果未能解决你的问题,请参考以下文章

ssh配置免密后依然需要输入密码的问题解决及排查过程

Linux之间配置SSH互信(SSH免密码登录)

Linux之间配置SSH互信(SSH免密码登录)

互信的配置

配置集群各机器间免密码登陆(开启ssh互信)

ssh实现多级免密码验证企业分发管理