Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

Posted chenlianyong19890418

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux配置SSH公钥认证与Jenkins远程登录进行自动发布相关的知识,希望对你有一定的参考价值。

1、问题描述

  假设有两台服务器,A是Jenkins构建服务器,B是应用服务器,现有问题是A构建好应用之后,将程序包传到B服务器进行发布,并执行启动命令?这时候就需要给用到远程“免密码”登录。

2、解决原理

  公钥认证,是使用RSA加密算法生成一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。在使用jenkins自动构建并远程登录服务器进行发布应用的时候,需要使用SSH公钥认证来解决登录服务器的问题。

3、操作步骤

  1、在A服务器上使用命令:cd /root/.ssh,进入到 /root/.ssh目录

  2、在A服务器上对应目录上生成密钥对,命令:ssh-keygen -t rsa -P ‘‘,回车之后会生成id_rsa(私钥) 和 id_rsa.pub(公钥)两个文件。

技术分享图片

 


 
3、使用cat id_rsa.pub(公钥) 查看内容,并复制此条命令。
 
[[email protected] .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtOQDhB3jLr7MGfUPi7KjVnOIYplcfNQpYJRPfdwn8ImvqZJGiR8ZQd2GRnNQ9VoXa3hosdQbdlTydehlxqAXd3i4/jxbk/8sfbk6w62wgHUWoV3PA88BvqASZ9YLoO6euWXYAi/wi2/vcUJQhsjHdYsaTUJ59JE4zhy<br>DY8rsgQ3yb1Mcjyen6lnUNk/UxvdXrtmSPW2yDd4QdJ33p4BmAwGK8IBziNK2IHbdddjtQCfviCQi6HBiKdBlrOpNgk1FTkA2FsCSAt0Ec5qy+didrSZ1OZGNrN0vBLYe0Q+kD5LI4dbnmUOhwnPy4GkJ4zK42Woy/stJbnmsTfRPpwbKQ6== [email protected]
 
4、在B服务器上,进入目录:/root/.ssh,并执行如下命令:
echo ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtOQDhB3jLr7MGfUPi7KjVnOIYplcfNQpYJRPfdwn8ImvqZJGiR8ZQd2GRnNQ9VoXa3hosdQbdlTydehlxqAXd3i4/jxbk/8sfbk6w62wgHUWoV3PA88BvqASZ9YLoO6euWXYAi/wi2/vcUJQhsjHdYsaTUJ59<br>JE4zhyDY8rsgQ3yb1Mcjyen6lnUNk/UxvdXrtmSPW2yDd4QdJ33p4BmAwGK8IBziNK2IHbdddjtQCfviCQi6HBiKdBlrOpNgk1FTkA2FsCSAt0Ec5qy+didrSZ1OZGNrN0vBLYe0Q+kD5LI4dbnmUOhwnPy4GkJ4zK42Woy/stJbnmsTfRPpwbKQ6== [email protected] >> authorized_keys
5、如果还有其他应用服务器C,那么重复步骤4即可。 

6、其他知识,在A服务器上可以使用产生的私钥登录到其他服务器,命令如下:

ssh -i id_rsa [email protected]

 

以上是关于Linux配置SSH公钥认证与Jenkins远程登录进行自动发布的主要内容,如果未能解决你的问题,请参考以下文章

Mac下配置远程Linux 服务器SSH密钥认证自动登录

Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

【Linux】SSH 使用密码/公钥远程登录总结

Xshell5配置ssh免密码登录-公钥与私钥登录linux服务器(xshell如何登陆上阿里云服务器)

jenkins打包发布到远程服务器配置

Xshell配置ssh免密码登录-密钥公钥(Public key)