Linux系统

展开

当前位置:首页>服务器系统>Linux系统

Linux集群内SSH免密码访问的快速配置方法。

作者:要赢全靠浪人气:

日常无论测试环境还是生产环境,在进行多台服务器(集群)安装配置的时候,经常需要对集群内服务器SSH访问做免密码设置。比如Hadoop、HBase等集群的安装配置,或者多台服务器为便于后续运维也需要做SSH免密配置。

结合近期搭建测试环境的过程,对如何快速给多台服务器做相互SSH访问免密配置做一个说明。主要分为几个步骤:修改主机名称、配置汇聚服务器的秘钥、汇聚其他服务器秘钥、拷贝汇聚秘钥文件、生成know_hosts文件、拷贝know_hosts文件。
 

1、集群规划

主机IP

主机名称

10.141.93.101

dmz01

10.141.93.102

dmz02

10.141.93.103

inside01

10.141.93.104

inside02

10.141.93.105

inside03

10.141.93.106

inside04

10.141.93.107

inside05

10.141.93.108

inside06

10.141.93.109

inside07

10.141.93.110

inside08

10.141.93.111

inside09

10.141.93.112

inside10

10.141.93.113

inside11

10.141.93.114

inside12

10.141.93.115

inside13

10.141.93.116

inside14

10.141.93.117

inside15

10.141.93.118

inside16

该集群共有18台服务器,划分为DMZ区2台,INSIDE区16台。主要用于web服务器和应用服务器、数据库、缓存等。为了部署应用、管理集群服务器方便,将18台服务器做SSH互访免密码配置。
 

2、修改主机名称

无论初装系统或云主机,其主机名称“localhost”或“VM_75_173_centos”都不容易进行区分服务器作用。所以便于安装、部署、维护方便,会重新修改主机名称hostname。
修改主机名称可以使用下面命令:

hostnamectl set-hostname inside01

使用上述命令修改主机名称后重新ssh登陆,即可看到主机名称已经修改。

3、配置汇聚服务器秘钥

此处所谓汇聚服务器就是选定集群中的一台服务器,然后其他服务器与其做SSH免密码信任。本文选定dmz01(10.141.93.101)作为汇聚服务器。关系图如下所示:

Linux集群内SSH免密码访问的快速配置方法。

其他服务器向dmz01做SSH登陆免密码信任配置。此处dmz01就是汇聚服务器。

配置汇聚服务器秘钥的命令如下所示:

[root@dmz01 ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key  (/root/.ssh/id_rsa): [Enter键]

Enter passphrase (empty for no  passphrase): [Enter键]

Enter same passphrase again: [Enter键]

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:

43:0d:08:18:ec:9e:d6:1f:ea:5f:04:30:0f:66:26:41  root@dmz01

The key's randomart image is:

+--[  RSA 2048]----+

|  oE+O. ..        |

|  o= =.   o       |

|  .    o . .      |

|  .     o         |

|  . o    S        |

|  + . .. .        |

|  .   o ..        |

|    . ..          |

|   ....           |

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

进入“/root/.ssh”目录,拷贝生成“authorized_keys”文件,使用命令如下:

cat id_rsa.pub >>authorized_keys

结果如下所示:

[root@inside01 .ssh]# ll
total 12
-rw-r--r-- 1 root root 395 Nov 12 16:25 authorized_keys
-rw------- 1 root root 1675 Nov 12 16:24 id_rsa
-rw-r--r-- 1 root root 395 Nov 12 16:24 id_rsa.pub

4、拷贝其他服务器秘钥

经过第3节配置汇聚服务器秘钥后,需要依次配置dmz02,inside01,…,inside16等17台服务器的秘钥。方法同第三节命令。
配置完成其他17台服务器的秘钥后,需要将该17台服务器的秘钥复制拷贝到汇聚服务器dmz01上。其拷贝命令如下:

[root@dmz01 .ssh]# ssh-copy-id -i dmz01
[root@inside01 .ssh]# ssh-copy-id -i dmz01

依次将17台的秘钥汇聚拷贝到dmz01上。

5、拷贝汇聚秘钥文件

从汇聚服务器将汇聚的秘钥文件依次拷贝到其他17台服务器的“/root/.ssh”目录下面,命令如下所示:

[root@dmz01 .ssh]# scp authorized_keys dmz02:/root/.ssh/
[root@dmz01 .ssh]# scp authorized_keys inside01:/root/.ssh/

[root@dmz01 .ssh]# scp authorized_keys inside16:/root/.ssh/
root@inside16's password:
authorized_keys 100% 7104 6.9KB/s 00:00

如上所示进行scp拷贝秘钥文件“authorized_keys”,该过程需要输入密码。
Ssh免密码验证:

[root@dmz01 .ssh]# ssh dmz02
The authenticity of host 'dmz02 (10.141.68.179)' can't be established.
ECDSA key fingerprint is 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dmz02,10.141.68.179' (ECDSA) to the list of known hosts.
Last login: Sat Nov 12 17:19:19 2016 from 10.141.93.186

由上面可以看出“ssh dmz02”,ssh登陆dmz02服务器时,没有再需要输入密码。但是提示需要将dmz02添加到dmz01的“know hosts”列表文件中。这样下次ssh访问dmz02就不会再提示需要加入know hosts列表了。
 

6、生成know_hosts文件

从汇聚服务器依次ssh其他17台服务器,经过前面的免密码设置。不需要再输入密码,但是都有加入know hosts列表的提示。
注意:为了把自己dmz01也加入到know hosts文件中,也需要“[root@dmz01.ssh]# ssh dmz01”一下。

最后生成的know_hosts文件内容如下所示:

Linux集群内SSH免密码访问的快速配置方法。

查看know_hosts文件行数:

[root@dmz01 .ssh]# wc -l known_hosts
18 known_hosts

可以看出每个主机一行内容,表示dmz01知道了包括自己在内的所有18台服务器。
 

7、拷贝know_hosts文件

经过第六节生成18台服务器对dmz01的know host设置,将dmz01的/root/.ssh/know_hosts文件scp拷贝到其他17台服务器上。
ssh免密码登陆验证:

[root@dmz01 .ssh]# ssh inside10
Last login: Tue Nov 15 15:01:18 2016 from 10.141.93.186
[root@inside10 ~]# ssh inside15
Last login: Sat Nov 12 17:52:29 2016 from 10.141.93.186
[root@inside15 ~]# ssh dmz02
Last login: Sat Nov 12 20:05:59 2016 from 10.141.93.186
[root@dmz02 ~]# ssh dmz01
Last login: Thu Nov 17 23:56:05 2016 from 218.10.89.246
[root@dmz01 ~]# ssh inside15
Last login: Fri Nov 18 00:23:54 2016 from 10.141.114.152

ssh免密码登陆顺序:dmz01àinside10àinside15àdmz02àdmz01àinside15。
 

8、总结

本文主要涉及以下几个命令:

hostnamectl set-hostname inside01
ssh-keygen -t rsa
ssh-copy-id -i dmz01


debian 9.4 安装教程 linux系统debian9.4图文详细安装步骤

Linux集群内SSH免密码访问的快速配置方法。

我们这里选择install安装,不装桌面,因为是做服务器,装桌面没意义。

Linux集群内SSH免密码访问的快速配置方法。

我们这里选择装英文版,你也可以装中文版本。

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

 手动配置网络

Linux集群内SSH免密码访问的快速配置方法。

 设置ip

Linux集群内SSH免密码访问的快速配置方法。

 设置 子网掩码

Linux集群内SSH免密码访问的快速配置方法。

 设置网关

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


 名称服务器地址留空

Linux集群内SSH免密码访问的快速配置方法。

 计算机名称随便写

Linux集群内SSH免密码访问的快速配置方法。

 域名称

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


设置root密码

Linux集群内SSH免密码访问的快速配置方法。

 重复设置一下root密码

Linux集群内SSH免密码访问的快速配置方法。

 新建一个新用户

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


Linux集群内SSH免密码访问的快速配置方法。

 时区默认就可以了

Linux集群内SSH免密码访问的快速配置方法。

 硬盘分区

Linux集群内SSH免密码访问的快速配置方法。

这里选择需要安装系统的硬盘,不要安装到U盘上了,一定要看准磁盘大小

Linux集群内SSH免密码访问的快速配置方法。

选择 所有文件放一个磁盘分区上,新用户推荐

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


 提示删除原硬盘中的所有数据与分区

Linux集群内SSH免密码访问的快速配置方法。

 完成分区与将修改写入到磁盘

Linux集群内SSH免密码访问的快速配置方法。

 不扫描CD

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


 选择 否 (不使用网络镜像)

Linux集群内SSH免密码访问的快速配置方法。

 选择 NO 统计软件包流行度的。会定期上报本机安装了哪些软件包。

Linux集群内SSH免密码访问的快速配置方法。

 只选择SSH 其它都取消安装

Linux集群内SSH免密码访问的快速配置方法。

#p#副标题#e#


 选择是

Linux集群内SSH免密码访问的快速配置方法。

 不要安装到U盘中,要安装到硬盘中

Linux集群内SSH免密码访问的快速配置方法。

可以拔掉U盘与 光盘 再continue 就自动重启了

查看设置IP地址、网关的文件/etc/network/interfaces

参考:

auto lo

iface lo inet loopback

allow-hotplug enp1s0f0

iface enp1s0f0 inet static

        address 183.61.252.25/26

        gateway 183.61.252.1

设置服务器dns的文件/etc/resolv.conf

不设置服务器里不能解析域名

参考:

nameserver 114.114.114.114

nameserver 8.8.8.8

重启网络service networking restart

userdel -f 需要删除用户(比如上面建立的用户,也可以不删除,建议删除上面建立的没什么用途的用户)

输入root和密码,进入系统,修改

/etc/ssh/sshd_config

文件里面的#PermitRootLogin … 为PermitRootLogin yes

如果不修改root用户就无法SSH连接服务器

再执行命令systemctl reload sshd.service或reboot重启使得修改生效


andLinux:让你的Windows运行Linux程序

毫无疑问,Linux-特别是Uubuntu-是一个杀手级的操作系统,充满了卓越的应用软件,但是大概有千万个理由,你仍然把Windows作为主要的操作系统。我们理解,这事经常发生。但是,你宁愿决定生活在Windows中,而抛下那些杀手级的Linux应用程序吗?当然你也可以双重启动或很局限的在虚拟机窗口中运行Linux,但是能和Windos程序一样一起运行这些程序不是很棒吗?-就像Linux用户使用WINE或OS X通过Parallels或 VMWare做到的那样。你能!并且今天我向你展示通过一个叫andLinux的自由软件,如何在Windows中无缝运行你最喜爱的Linux软件。 

  什么是andLinux?andLinux实际上是在Windows顶层上Ubuntu的一个完全安装。与Parallels中的一致模式或VMWare Fusion中的统一模式相似,andLinux把Linux程序提出虚拟机,混合在你所有的Windows程序中,创造出一个无缝界面。很古怪,啊哈? 

  为了让你们咽一下口水,我放出一些图片,我的Windows桌面充满了混在一起的Windows和Linux程序,以一种不自然的方式打击一下大家。 

  Linux集群内SSH免密码访问的快速配置方法。 

  Kate vs. Notepad 

  Linux集群内SSH免密码访问的快速配置方法。 

  Konqueror vs. Explorer 

  Linux集群内SSH免密码访问的快速配置方法。 

  Synaptic (Linux), Add or Remove Programs (Windows) 

  Linux集群内SSH免密码访问的快速配置方法。 

  IE, Linux Firefox, and Konqueror 

  Linux集群内SSH免密码访问的快速配置方法。 

  Akregator Newsreader, Windows Explorer, and Konsole 

  andLinux工作于Windows 2000, XP,2003,和Vista(只限32-bit),所以如果你运行着以上任一个版本的Windows,连接到找一个镜像下载安装程序,或者直接抓取这个种子(BT下载真快)。andLinux有两道美味:XFCE极小版(143MB)和KDE完全版(665M);本篇指南中,我会使用KDE完全版。 

  一旦下载完成,运行安装程序让我们开始吧。 

  安装配置andLinux 

  Linux集群内SSH免密码访问的快速配置方法。 

  大多andLinux安装过程简单易懂,但是有一些要点值得强调。安装屏幕第一个值得注意的是内存配置,在那里你选择当它在你系统中运行时,分配给andLinux多少内存。你可以在128MB到1GB中任意选择,但是实际上推荐192MB作为最小值。我选择256MB,但是你可以根据你电脑有多少空闲内存而变化。 

  Linux集群内SSH免密码访问的快速配置方法。 

  你也会进入一个询问启动类型的屏幕。你可以选择总是自动把andLinux作为一个服务运行,或要求andLinux通过命令行手动启动,或Windows启动时自启动。我选择“run andLinux manually as an NT service”选项(不管你在截图上看到什么),但是如果你在确信你会频繁运行Linux程序的基础上,你可能希望设置它为自启动。 

  Linux集群内SSH免密码访问的快速配置方法。 

  andLinux默认仍然不能访问Windows所有的文件系统,所以为了在Windows和Linux程序间共享文件,你需要在安装时设置Windows文件访问。我选择使用Samba来做这件事(正如截图所示)。这里是展示它如何工作的。 

  Linux集群内SSH免密码访问的快速配置方法。 

  你要通过新建文件夹在Windows某个地方(任何地方,真的)设置一个共享文件夹,对它右键,选择共享和安全。然后只要激活这个文件夹的共享并允许用户改变文件夹内容。确保共享名不要包含空格否则andLinux会抱怨。点击确认保存共享参数,然后只要把共享文件夹的名字给andLinux安装程序,然后是Windows帐户的用户名和密码。 

  当完成安装程序,在使用andLinux和在Windows中运行所有的Linux软件之前,你需要重启电脑。 

  通过andLinux运行程序 

  Linux集群内SSH免密码访问的快速配置方法。 

  如果不是设置andLinux自启动,在使用它之前你需要使用截图中的助手启动andLinux。在它启动后,你现在可以运行想要的任何一个预装软件了。你可能通过很多方式做到这一点,但是我还是要强调几点。 

  Linux集群内SSH免密码访问的快速配置方法。 

  首先,你会注意到一个新系统托盘程序正在运行;它是一个小型KDE启动菜单,通过它访问很多默认KDE软件,从Konqueror(一个文件管理器,网络浏览器,等等)到Synaptic(可安装新程序的软件包管理器)。我特别强调这两个软件是因为你可以从Konqueror浏览和启动更多软件,从Synaptic安装新软件。 

  Linux集群内SSH免密码访问的快速配置方法。 

  然后,如果启动Konqueror并游到应用软件标签,你能分类别浏览到一些已安装的Linux软件,从娱乐和游戏到互联网和多媒体。如果这是你第一次玩Linux,我推荐尝试一下不同的软件,找一点可见的感觉。 

  通过andLinux安装新Linux软件 

  Linux集群内SSH免密码访问的快速配置方法。 

  既然已经尝试了一下,你大概已经忍不信手痒想要安装新软件了吧。要安装新软件,点击KDE开始菜单并启动Synaptic,它就像Windows里的添加/删除程序那样-但是更有用。通过 Synaptic,你可以浏览Linux软件令人惊讶的财富。用Synaptic搜索具体的软件或分类浏览软件。如果发现你喜欢的,标记安装,然后应用更改。Synaptic会自动下载和安装运行那个软件需要的一切,当安装完成,你可以从Konqueror启动它。很方便,啊哈? 

  Linux集群内SSH免密码访问的快速配置方法。 

  andLinux甚至改变Windows的右键菜单,所以如果比如你点击一个文本文件,你可以在andLinux默认程序中打开它。那意味着你可以在平行的Linux环境中从Windows里打开一个文件或文件夹,用任何支持的软件。我正确运行这个功能遇到了点麻烦,所以你的情况可能不同。 

  记住andLinux现在正在测试,写这篇文章的发布的是beta 1第6候选版本,所以这真是该死的边缘。大多数核心功能在这,但是有时BUG会多一点,所以不会一切完美运行。如果你不准备接受这个跳跃,可以理解……只要睁大你的眼睛,因为一旦出现一个更稳定和良好测试的版本,那些曾经如此严格的系统界限在你的Windows盒子上会变得更模糊-因为那些界限现在仍然不够模糊,你可以在你的Hackintosh电脑上安装MAC OS X,然后在MAC上无缝运行Windows。 

  Linux爱好者,让我们在评论里看到你推荐给Windows用户,在他们被Linux化的自作自受的电脑上试用的软件。同样,如果你已经试用过andLinux,让我们知道它是如何为你工作的。

哪一个Linux发行版最流行?一个以LINUX当WINDOWS使用的菜鸟的自述乖,Linux,请暂且让让路打破信息孤岛,Ubuntu要上网Linux中修改root用户密码Linux下使用QQ解决方案的选择限制linux登录的终端ttyLinux系统屏幕刷新率问题的解决top命名的显示信息解释使用WINE软件来运行一些Windows XP不能运行的游戏

加载全部内容

Linux系统排行