ssh密钥创建分发(端口号非22)&脚本实现自动创建分发密钥

1.1 服务端端口号变化了,如何基于秘钥连接

1.1.1 环境准备

实验环境:

[root@test ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

将一台服务器的ssh服务端口修改为63389

[root@test ~]# netstat -lntup|grep sshd

tcp        0      0 0.0.0.0:63389  0.0.0.0:*        LISTEN      5083/sshd         

tcp        0      0 :::63389        :::*              LISTEN      5083/sshd 

1.1.2 通过另外一台服务器创建并分发密钥

第一个里程碑: 现创建密钥使用 ssh-keygen

[root@backup ~]# 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:

72:48:65:1d:25:69:e1:4c:ae:2b:6f:a5:aa:70:96:1e root@backup

The key's randomart image is:

+--[ RSA 2048]----+    #2048表示加密的位数为2048位

|        o.==.      |

|      o =+.      |

|      .  .+        |

|    . . .        |

|      o S          |

|    . o ..        |

|  . E . .o        |

|  = . oo          |

|    o..o.          |

+-----------------+

第二个里程碑:分发密钥,注意ssh的端口

[root@backup ~]# ssh-copy-id  -i ~/.ssh/id_rsa.pub "-p63389 172.16.1.250"

The authenticity of host '[172.16.1.250]:63389 ([172.16.1.250]:63389)' can't be established.

RSA key fingerprint is d3:41:bb:0d:43:88:da:a3:2c:e8:36:91:11:c9:e4:9c.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '[172.16.1.250]:63389' (RSA) to the list of known hosts.

root@172.16.1.250's password:

Now try logging into the machine, with "ssh '-p63389 172.16.1.250'", and check in:

  .ssh/authorized_keys  #分发到对端服务器后进行改名

to make sure we haven't added extra keys that you weren't expecting.

说明:

   通过 man 手册找到密钥分发的命令格式。

   -i 参数指定 公钥文件的存放位置

[use@]表示使用的用户,默认使用当前登陆的用户

-p 指定端口,主要要在双引号之间(通过cat `which ssh-copy-id` 命令脚本内容得知)

[root@backup ~]# man ssh-copy-id

Formatting page, please wait...

SSH-COPY-ID(1)                                                  SSH-COPY-ID(1)

NAME

       ssh-copy-id  -  install  your  public  key in a remote machine's autho-

       rized_keys

SYNOPSIS

第三个里程碑: 测试密钥登陆

[root@backup ~]# ssh 172.16.1.250 -p 63389

Last login: Wed Oct 18 15:42:05 2017 from 10.0.0.41

[root@test ~]#

1.2 如何实现自动创建秘钥对,同时分发公钥(编写脚本实现)

脚本内容:

[root@m01 ~]# vim /server/scripts/piliang_fenfa.sh

  1 #!/bin/bash

  2

  3 #make key

  4 \rm -f /root/.ssh/id_dsa

  5 ssh-keygen -t dsa -f /root/.ssh/id_dsa -P "" -q

  6

  7 #fengfagongyao

  8 for ip in 8 31 41

  9 do

10 echo ====fenfa key to host 172.16.1.$ip====

11 sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no root@172.16.1.$ip"

12 echo ===============fenfa end==============

13 echo ""

14 done

脚本说明:

  ssh-keygen -t dsa -f /root/.ssh/id_dsa -P "" -q

   创建密钥,-f指定存放位置,-P 密钥加密的密码  -q 减少信息输出

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no root@172.16.1.$ip"

   这里需要安装一个软件 yum install sshpass -y 用来提供中户密码

ssh-copy-id 命令来分发密钥 -i 指定密钥本地存放的路径

-o StrictHostKeyChecking=no 在登陆其他服务器是不选择yes/no

for ip in 8 31 41

   这里使用for循环来对ip地址进行变化。

附录:CentOS 7密钥分发脚本

1 #!/bin/bash

2 . /etc/rc.d/init.d/functions

3

4 yum install sshpass -y  >/dev/null

5 # 创建密钥

6 \rm ~/.ssh/id_rsa* -f

7 ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -q

8 # 分发公钥

9 for ip in 61 21 51 31 41 8 7 9 5 6

10 do

11 sshpass -p123456 ssh-copy-id -o "StrictHostKeyChecking no"  -i /root/.ssh/id_rsa.pub 172.16.1.$ip &>/dev/null

12 if [ $? -eq 0 ];then

13 action  "fenfa 172.16.1.$ip"  /bin/true

14 else

15 action  "fenfa 172.16.1.$ip"  /bin/false

16 fi

17 echo ""

18 done

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 、什么是SSH批量管理 在管理机产生公钥和私钥,然后把自己的公钥推送给需要被管理的服务器,然后就可以通过scp和s...
    4a873e424089阅读 704评论 0 0
  • 1.ssh-keygen非交互式创建秘钥对: 具体命令:ssh-keygen -f ~/.ssh/id_rsa ...
    1220阅读 975评论 0 0
  • 晚睡,这个不好的习惯,自己已经N次想改可有没改掉。今天又经历了一次,晚睡的夜晚,早上还在被窝,自己复盘下。 晚睡,...
    Yuan_Jie阅读 92评论 0 1
  • 第一次看话剧,算是满足了自己的好奇心。 去的是歌剧厅,很大,约莫4层楼的高度。 穷人如我买的是最便宜的80元的票,...
    不想说话啦阅读 178评论 0 0
  • 今天是最有成就感的一天,将原来的讲课稿全部废弃,参考了几份教案,研读教参,开始的导入部分,包括接下来的每一部分...
    咖妹阅读 213评论 0 7