Centos SSH 免密码互通及Xshell配置ssh免密码登录-密钥公钥(Public key)

Centos SSH 免密码互通及Xshell配置ssh免密码登录-密钥公钥(Public key)

Elysian
2021-09-29 / 0 评论 / 235 阅读 / 正在检测是否收录...

一、配置SSH互通

1,修改主机名。

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos1

vi /etc/hosts
#末尾添加 ip 主机名
192.168.9.129 centos1

hostname centos1 
#修改主机名临时生效

2, 无密码登录实现

2.1、用ssh-keygen创建公钥(每台服务器都需要执行)

[root@centos1 ~]# ssh-keygen -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a0:85:f4:58:d4:c7:2f:d9:ae:b1:04:91:b1:a0:9e:93 root@centos1
The key's randomart image is:
+--[ RSA 2048]----+
|    ..+..+       |
|   . * .+.o      |
|    + + .o +     |
|   . = .. o o    |
|    E   S. o     |
|     .    o .    |
|         . +     |
|          o      |
|                 |
+-----------------+

免密码互通,直接回车完成。

ssh-keygen:生成秘钥
其中:
-t指定算法
-f 指定生成秘钥路径
-N 指定密码

2.2、查看生成的钥匙

[root@centos1 ~]# cd .ssh/
[root@centos1 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts

2.3 将公钥复制到被管理机器下的.ssh目录下(先确保存在这个目录)

我这里是单机,就不需要执行这步操作。

接着执行

[root@centos1 .ssh]# cat id_rsa.pub >> ~/.ssh/authorized_keys 
[root@centos1 .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

3、设置文件和目录权限:

设置authorized_keys权限

chmod 600 authorized_keys

设置.ssh目录权限

chmod 700 -R .ssh

验证是否成功

[root@centos1 .ssh]# ssh centos1
Last login: Thu Dec 17 10:15:52 2015 from 192.168.9.1

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

简介

ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法。

使用密钥登录分为3步:

  1. 生成密钥(公钥与私钥);
  2. 放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
  3. 置ssh客户端使用密钥登录。

1、生成密钥(公钥与私钥)

打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“(新建用户密钥生成向导)”,如下图:
1209537-20180125112220506-204455482.png
弹出“新建用户秘钥生成向导”对话框,在“秘钥类型”项选择“RSA”公钥加密算法,“秘钥长度”选择任意密钥长度,长度越长,安全性越高,如下图:
1209537-20180125112231740-1921320567.png
点击“下一步”,等待密钥生成
1209537-20180125112256662-1277544830.png
继续下一步,在“秘钥名称”中输入Key的文件名称,我这里为“id_rsa_2048(2)”;在“加密密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:
1209537-20180125112315944-1652352640.png
点击“下一步”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。
1209537-20180125112332162-1839099765.png
点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“laomao”,备用。最后点击“完成”即可。
1209537-20180125112349506-476641258.png
公钥保存完后,接下来为私钥文件。点击“导出”,导出为私钥文件,用来打开刚才的公钥。请妥善保管。
1209537-20180125112409178-2083444669.png
点击“保存”后,会弹出一个框,输入刚才设置的密码123456.在点击“确定”即可。
1209537-20180125112420850-177720951.png

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

上面的步骤只是生成了公钥和私钥的过程,接下来就是要将刚才生成的公钥放到要管理的服务器上。
使用到Xshell登录到服务器,进入到“/root/.ssh/”目录,运行rz命令(如果没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,
1209537-20180125112434209-1080894018.png
然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:

[root@mysql-db01 ~]# cd .ssh/
[root@mysql-db01 .ssh]# ls
authorized_keys  known_hosts
[root@mysql-db01 .ssh]# rz -E
rz waiting to receive.
[root@mysql-db01 .ssh]# ls
authorized_keys  known_hosts  laomao.pub
[root@mysql-db01 .ssh]# cp authorized_keys authorized_keys.bak
[root@mysql-db01 .ssh]# cat laomao.pub >authorized_keys
[root@mysql-db01 .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAYEAybjy7/DVWxXm4lcXFA+x0bgBMi+aQ6zIzyBfFSKJEMhAhs/MxbKHOl1c1GwzPSAKLAHoR8UZSQO7QQcYKqeb8cNWR8f9NGNBCJs+e6Fpl7BvNPKfNrixnq+gT5VIz77u2RXU74JBOuwsgaEHtCU5DQhIfvAoUe64qCBuY5J6JHJV3bBlMXnqxrJQO4+4hH0dHyVzc5wmP0ngnah/6za64hk3Nd1tdER7na701geZTR5N4OqeCep+TtPcbT4RKQ1qJ5L67ET5x3uYGEKZDK4tOL2kluePd2XHRQg1qcXl87f7HkZiLIicgLU8/rB+LyUOJzywTVHvmTWTPDS1u6RmAQSLh/4VU0vEks7bIj7xTCaKjuO6UgHvxPZL1BQWj8tY6fzerdndVM5bORkAHgZ67ZJK6X+Zui4fHTkxSQ/gvzOgBylhSL3Tyc1PRlVO8L7bl9r36x7hlACHr0BrqpenrkxdMmrR4i4RoOrYaijXoPhvg5uWH+rSeUbZDDEw7S/F[root@mysql-db01 .ssh]#
[root@m01 .ssh]# chmod 600 authorized_keys
[root@m01 .ssh]#

1209537-20180125112505334-1340597867.png

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

打开Xshell,点击“新建”按钮,弹出“New Session Properties”对话框,在“连接”栏目中,输入刚刚配置好公钥(Public Key)的IP地址和端口,如下图所示:
1209537-20180125112605272-59304361.png
在用户身份认证的窗口输入认证方法为“public key”
1209537-20180125112621709-2145655762.png
从用户秘钥出选择刚生成的私钥文件,并在下面的密码框中输入刚才设置的密码123456(可以和系统登陆密码不一样)
1209537-20180125112635490-1539195706.png
1209537-20180125112700303-235992890.png
现在就可以使用公钥登陆了,浏览选择用户秘钥位置,然后输入上面刚刚设置的密码“123456”,点击“确定”,即可登陆。
1209537-20180125112715819-386062837.png
经过了上面的ssh秘钥配置后,我们就可以通过在Publish over SSH插件中使用秘钥来管理服务器了。注意,服务器上存放的是上面生成的公钥,Jenkins上存放的是生成的私钥文件。

参考文章:(经过测试)
https://www.cnblogs.com/dadonggg/p/8350423.html
http://aiuxian.com/article/p-ficywqgl-oz.html

0

评论

博主关闭了所有页面的评论