码迷,mamicode.com
首页 > 其他好文 > 详细

内部服务器免密码ssh登录设置

时间:2018-07-10 13:42:51      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:目录   images   公钥   并发   mil   body   z-index   image   dia   

内部服务器免密码ssh登录设置

一、背景:

 平安银行项目,EZSonar产品总共部署4台服务器,1台探针服务器、3台管理引擎服务器(ES集群)。平安银行客户有要求,应用程序只能使用普通用户启动,同时在部署完交付给客户时,客户需要把服务器交给另外部门统一管理。每次需要登录时,都需要向服务器管理组申请登录权限,然后通过指定的堡垒机免密码登录到EZS对应的服务器对应用户的权限,同时客户一般情况下是不允许申请root用户权限的。在此情况下,如果我们在排查问题急需root用户时就无法操作了,针对该问题对接口的经理建议我们在内部服务器做个互信,因此就产生该设置想法。 目的:不同机器之间实现普通用户之间的免密登陆,例如Probe的root用户权限直接登录到ES1的root用户权限或者ES1的es01用户权限。 

二、原理:

 Probe服务器作为客户端,要实现无密码公钥认证,连接到服务器ES1、ES2、ES3上时,需要在Probe服务器上生成一个密钥对,包括一个公钥和一个私钥,然后将公钥复制到服务器ES1、ES2、ES3上。当Probe通过SSH链接到ES1(ES2、ES3)服务器上时,ES1会生成一个随机数并用Probe服务器的公钥对随机数进行加密,并发送给Probe服务器。Probe服务器收到加密数之后再用私钥解密,并将解密数回传给ES1(ES2、ES3)服务器,ES1(ES2、ES3)服务器确认解密数无误之后就允许Probe服务器进行连接了。这就是一个公钥认证过程。 要实现内部服务器SSH免密码登录的原理简单来说,在各自服务器存放了目标主机的公钥证书,当执行登陆时,自动完成认证,从而不需要再输入任何密码。 

技术分享图片

三、配置步骤:

以Probe和ES1两台服务器为例

1、root用户

(1)、以root用户登录Probe服务器,生成RSA公钥

输入ssh-keygen -t rsa,然后用默认配置,一直按Enter键;

ssh-keygen

(2)、进入生成密钥所在的文件目录

cd /root/.ssh/

(3)将公钥(名为id_rsa.pub文件)追加到认证文件(名为authorized_keys文件)

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

(4)设置ssh的权限 chmod -R 700 /root/.ssh

(5)同理在ES1服务器进行步骤(1)(3),生产RSA公钥和追加到认证文件

(6)把ES1的认证文件拷贝到Probe服务器,并追加到Probe服务器的authorized_keys

(7)把最后拥有所有用户的公钥拷贝到对应的服务器替换原有的authorized_keys

例子,如下图:

技术分享图片

2、非root用户(ezsonar用户)

非root用户与root的用户操作一样,唯一不一样的地方就是存放公钥的目录在/home/$user/.ssh/(以ezsonar为例:/home/ezsonar/.ssh)

技术分享图片

3、把最后一份authorized_keys(含所有服务器的root用户和非root用户)拷贝到对应服务器的.ssh目录下(root用户:/root/.ssh,非root用户:/home/$user/.ssh),这样就可以达到互信作用,内部服务器ssh和scp都不需要密码。

内部服务器免密码ssh登录设置

标签:目录   images   公钥   并发   mil   body   z-index   image   dia   

原文地址:https://www.cnblogs.com/zhangyunfei-blog/p/9288520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!