1.1 生成秘钥(公钥和私钥)

打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“(新建用户密钥生成向导)”,如下图:

miyao1
弹出“新建用户秘钥生成向导”对话框,在“秘钥类型”项选择“RSA”公钥加密算法,“秘钥长度”选择任意密钥长度,长度越长,安全性越高,如下图:
miyao2
点击“下一步”,等待密钥生成
miyao3
继续下一步,在“秘钥名称”中输入Key的文件名称,我这里为“id_rsa_2048(2)”;在“加密密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:
miyao4
点击“下一步”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。
miyao5
点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“laomao”,备用。最后点击“完成”即可。

公钥保存完后,接下来为私钥文件。点击“导出”,导出为私钥文件,用来打开刚才的公钥。请妥善保管。
miyao6
点击“保存”后,会弹出一个框,输入刚才设置的密码123456.在点击“确定”即可。
miyao7

1.2 放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中

上面的步骤只是生成了公钥和私钥的过程,接下来就是要将刚才生成的公钥放到要管理的服务器上。

使用到Xshell登录到服务器,进入到“/root/.ssh/”目录,运行rz命令(如果没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,

1
2
3
4
5
6
7
[root@szl ~]# cd /root/.ssh
[root@szl .ssh]# rz

[root@szl .ssh]# ls
authorized_keys id_rsa_2048_.pub
[root@szl .ssh]# cat id_rsa_2048.pub >> authorized_keys
[root@szl .ssh]# chmod 600 authorized_keys

1.3 配置ssh客户端使用密钥登录

打开Xshell,点击“新建”按钮,弹出“New Session Properties”对话框,在“连接”栏目中,输入刚刚配置好公钥(Public Key)的IP地址和端口,如下图所示:
miyao8
在用户身份认证的窗口输入认证方法为“public key”
miyao9
从用户秘钥出选择刚生成的私钥文件,并在下面的密码框中输入刚才设置的密码123456(可以和系统登陆密码不一样)
现在就可以使用公钥登陆了,浏览选择用户秘钥位置,然后输入上面刚刚设置的密码“123456”,点击“确定”,即可登陆。

1.4 开启秘钥登录

这个时候,你已经有了一对密钥,需要开始设定服务器的配置,启用密钥认证登录,同时为了系统安全着想,关闭密码认证的方式。

1
2
3
4
5
6
7
8
9
[root@szl .ssh]# vim /etc/ssh/sshd_config
修改下面几处:

PubkeyAuthentication yes #启用PublicKey认证。

AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径。

PasswordAuthentication no #不适用密码认证登录。

上面配置完成后,需要重启sshd服务

1
[root@szl ~]# service sshd restart

经过了上面的ssh秘钥配置后,我们就可以通过在Publish over SSH插件中使用秘钥来管理服务器了。注意,服务器上存放的是上面生成的公钥,Jenkins上存放的是生成的私钥文件。