ssh免密登录配置

(原贴来源https://www.jianshu.com/p/0922095f69f3

前提

准备两台服务器和一个客户端机器,服务器A的IP是47.88.78.39,服务器B的IP是115.28.59.2,还有我的客户端机器C。
A服务器有一个用户:admin 端口号我自己修改为36251(默认22)
B服务器有一个用户:devine 端口号默认22
默认三台机器上都已经安装了SSH

目的

想要达到的目的是,我想通过我的客户机C远程登录到服务器A,然后再通过服务器A不需要输入密码直接登录到服务器B。

步骤

下面通过我的真实的操作为你演示如何配置;
一、首先用客户机C通过SSH远程登录到服务器A;

 

ssh免密登录配置

 

使用命令登录:ssh -p 36251 [email protected]

二、在服务器A上执行ssh-****** -t rsa在~/.ssh目录下生成id_rsa, id_rsa.pub两个文件,其中id_rsa.pub是公钥,把里面的内容copy到本地暂存,接下来会用到。

ssh免密登录配置

 

这里需要说明一点:我想通过服务器A不需要密码登录到服务器B,这就需要把A服务上的公钥放到B服务器上,到这一步A服务器的操作都已经完成了,接下来操作B服务器。

三、通过C服务器连接到B服务器,重复一、二;
四、检查下服务器B, ~/.ssh目录下的文件下的文件

 

ssh免密登录配置

 

 

确认目录下有没有authorized_keys 、config两个文件,如果没有就新建这两个文件;authorized_keys:文件是用来存储A服务器的公钥的;config是用来配置免密登录用户信息的;
接下来把 拷贝到本地的A服务器的公钥加入到B服务器的authorized_keys里

 

ssh免密登录配置

 

注意需要对authorized_keys执行以下操作
chmod 600 ~/.ssh/authorized_keys

重启设备B生效

到此步即可尝试A远程免密登录到B(使用命令 ssh+用户名@地址例如 ssh [email protected]) ,亲试有效,不必进行原贴里的config文件配置。

此步骤不能实现ssh以root权限登录,需另行设置

细节之处可参照https://blog.csdn.net/wenyun_kang/article/details/77413714