Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:clusterssh

ClusterSSH

ClusterSSH ist ein Werkzeug, welches z.B. shell-Eingaben auf mehreren Servern gleichzeitig ermöglicht. Der cssh Befehl öffnet eine administrative Konsole (shell) und ein xterm Fenster, für alle angegebenen Server. Jede Eingabe in die administrative Konsole wird ebenfalls in allen Fenster der angegebenen Servern ausgeführt. Alle Eingaben erfolgen gleichzeitig und in Echtzeit.

Voraussetzungen

Zur Installation von ClusterSSH unter dem Linux Betriebssystem CentOS in der Version 6, sollte das externe Repository EPEL genutzt werden.

Zur Einbindung des externen Repositories EPEL, aknn nachfolgender interne Link verwendet werden:

Installation

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root zu werden geben Sie bitte folgenden Befehl ein:

$ su -
Password: 

Nach erfolgreicher Einbindung des externen Repositories EPEL, kann die Installation mit nachfolgendem Befehl durchgeführt werden:

# yum install clusterssh
Loaded plugins: priorities, refresh-packagekit, security
78 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package clusterssh.noarch 0:3.28-2.el6 will be installed
--> Processing Dependency: perl(Tk) >= 800.022 for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: xterm for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(X11::Protocol::Constants) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(X11::Protocol) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(X11::Keysyms) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(Tk::Xlib) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(Tk::ROText) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(Tk::LabEntry) for package: clusterssh-3.28-2.el6.noarch
--> Processing Dependency: perl(Tk::Dialog) for package: clusterssh-3.28-2.el6.noarch
--> Running transaction check
---> Package perl-Tk.x86_64 0:804.028-12.el6 will be installed
---> Package perl-X11-Protocol.noarch 0:0.56-4.el6 will be installed
---> Package xterm.x86_64 0:253-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch          Version               Repository   Size
================================================================================
Installing:
 clusterssh               noarch        3.28-2.el6            epel         59 k
Installing for dependencies:
 perl-Tk                  x86_64        804.028-12.el6        epel        2.2 M
 perl-X11-Protocol        noarch        0.56-4.el6            epel        151 k
 xterm                    x86_64        253-1.el6             base        357 k

Transaction Summary
================================================================================
Install       4 Package(s)

Total download size: 2.8 M
Installed size: 7.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): clusterssh-3.28-2.el6.noarch.rpm                  |  59 kB     00:00     
(2/4): perl-Tk-804.028-12.el6.x86_64.rpm                 | 2.2 MB     00:00     
(3/4): perl-X11-Protocol-0.56-4.el6.noarch.rpm           | 151 kB     00:00     
(4/4): xterm-253-1.el6.x86_64.rpm                        | 357 kB     00:00     
--------------------------------------------------------------------------------
Total                                           8.7 MB/s | 2.8 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : xterm-253-1.el6.x86_64                                       1/4 
  Installing : perl-X11-Protocol-0.56-4.el6.noarch                          2/4 
  Installing : perl-Tk-804.028-12.el6.x86_64                                3/4 
  Installing : clusterssh-3.28-2.el6.noarch                                 4/4 
  Verifying  : perl-Tk-804.028-12.el6.x86_64                                1/4 
  Verifying  : perl-X11-Protocol-0.56-4.el6.noarch                          2/4 
  Verifying  : xterm-253-1.el6.x86_64                                       3/4 
  Verifying  : clusterssh-3.28-2.el6.noarch                                 4/4 

Installed:
  clusterssh.noarch 0:3.28-2.el6                                                

Dependency Installed:
  perl-Tk.x86_64 0:804.028-12.el6     perl-X11-Protocol.noarch 0:0.56-4.el6    
  xterm.x86_64 0:253-1.el6           

Complete!

Der Inhalt des Paketes clusterssh.noarch kann mit nachfolgendem Befehl angezeigt werden:

# rpm -qil clusterssh
Name        : clusterssh                   Relocations: (not relocatable)
Version     : 3.28                              Vendor: Fedora Project
Release     : 2.el6                         Build Date: Wed 18 Aug 2010 06:12:55 AM CEST
Install Date: Wed 26 Jun 2013 09:06:22 AM CEST      Build Host: x86-16.phx2.fedoraproject.org
Group       : Applications/Productivity     Source RPM: clusterssh-3.28-2.el6.src.rpm
Size        : 138278                           License: GPLv2+
Signature   : RSA/8, Fri 20 Aug 2010 12:16:58 AM CEST, Key ID 3b49df2a0608b895
Packager    : Fedora Project
URL         : http://clusterssh.sourceforge.net
Summary     : Secure concurrent multiple server terminal control
Description :
Control multiple terminals open on different servers to perform administration
tasks, for example multiple hosts requiring the same configuration within a
cluster. Not limited to use with clusters, however.
/usr/bin/cssh
/usr/share/applications/fedora-clusterssh.desktop
/usr/share/doc/clusterssh-3.28
/usr/share/doc/clusterssh-3.28/AUTHORS
/usr/share/doc/clusterssh-3.28/COPYING
/usr/share/doc/clusterssh-3.28/ChangeLog
/usr/share/doc/clusterssh-3.28/NEWS
/usr/share/doc/clusterssh-3.28/README
/usr/share/doc/clusterssh-3.28/THANKS
/usr/share/icons/hicolor/24x24/apps/clusterssh.png
/usr/share/icons/hicolor/32x32/apps/clusterssh.png
/usr/share/icons/hicolor/48x48/apps/clusterssh.png
/usr/share/man/man1/cssh.1.gz

Erster Start

ClusterSSH kann durch Auswahl des Menüeintrages im jeweiligen X-Fenster Manager gestartet werden, oder durch die Eingabe des nachfolgenden Befehls:

# clusterssh

Ohne die Angabe von zusätzlichen Parameter, startet nur die administrative Konsole (shell), wie in nachfolgendem Bild dargestellt.

ClusterSSH - administrative Konsole

Anwendungsbeispiele

Nachfolgend sollen einige Anwendungsbeispiel für den Einsatz von ClusterSSH gezeigt werden. Alle Aufrufe erfolgen über eine Konsole (shell):

Aufruf, welcher zwei xterm-Fenster/Server zeigt:

$ cssh klaus@localhost klaus@localhost

ClusterSSH - xterm-Fenster

:!: HINWEIS - Der Fokus/Cursor muss in der administrativen Konsole (shell) sein, damit in beiden xterm-Fenstern gleichzeitig Eingaben getätigt werden können!

Aufruf, welcher zwei xterm-Fenster/Server zeigt, jedoch mit shell-expansion Befehl:

$ cssh klaus@192.168.0.{1..2}

Aufruf welcher zwei xterm-Fenster/Server zeigt, jedoch durch ein SSH-Gateway hindurch, inklusive zusätzlicher Optionen für die ssh-Verbindung:

# cssh -o '-A -2 -t -Y' -a 'ssh -t -A -Y -2 -p 22 klaus@mx1.tachtler.net' klaus@192.168.0.1 klaus@192.168.0.1

Konfiguration

ClusterSSH bietet auch Konfigurationsmöglichkeiten. Nachfolgende Konfigurationsdateien können mit ClusterSSH genutzt werden:

  • /etc/clusters
  • /etc/csshrc
  • ~/.csshrc

/etc/clusters

In der Konfigurationsdatei /etc/clusters können mehrere vordefinierte Server(gruppen), zur einfachen Nutzung vordefiniert werden. Die Einstellungen sind global für alle Benutzer verwendbar.

Die Definition muss nach folgendem Muster erfolgen:

Global configuration file, sourced by all users. Can be generated by: 
<tag> [<username>@]hostname [...]

Beispiel:

# Meine Liste
dnsserver klaus@192.168.0.20 klaus@192.168.0.10
webserver klaus@192.168.0.60 klaus@192.168.0.90

Neue Zeilen und Kommentare (jeweils beginnend mit dem Zeichen #) werden ignoriert!

:!: HINWEIS - Diese Konfiguration kann ebenfalls Benutzerbezogen in der Konfigurationsdatei ~/.csshrc vorgenommen werden.

/etc/csshrc

In der Konfigurationsdatei /etc/csshrc können Einstellungen z.B. zum Verhalten und Aussehen der zu öffnenden xterm-Fenster festgelegt werden. Die Einstellungen sind global für alle Benutzer verwendbar.

Die Konfigurationsdatei /etc/csshrc, kann mit nachfolgendem Befehl erstellt werden:

# cssh -u > /etc/csshrc 

~/.csshrc

In der Konfigurationsdatei ~/csshrc können mehrere vordefinierte Server(gruppen), zur einfachen Nutzung vordefiniert werden, jedoch hauptsächlich werden die Einstellungen z.B. zum Verhalten und Aussehen der zu öffnenden xterm-Fenster festgelegt werden. Die Einstellungen sind Benutzerbezogen.

Die Konfigurationsdatei ~/csshrc, wird automatisch bei der ersten werdenwendung von ClusterSSH durch den jeweiligen Benutzer, mit Standardwerten angelegt.

Mit nachfolgen Befhel, kann die Die Konfigurationsdatei ~/csshrc ausgegeben werden:

$ cat ~/.csshrc 
auto_quit=yes
command=
comms=ssh
console_position=
extra_cluster_file=
history_height=10
history_width=40
key_addhost=Control-Shift-plus
key_clientname=Alt-n
key_history=Alt-h
key_paste=Control-v
key_quit=Control-q
key_retilehosts=Alt-r
max_addhost_menu_cluster_items=6
max_host_menu_items=30
menu_host_autotearoff=0
menu_send_autotearoff=0
method=ssh
mouse_paste=Button-2
rsh_args=
screen_reserve_bottom=60
screen_reserve_left=0
screen_reserve_right=0
screen_reserve_top=0
send_menu_xml_file=/home/klaus/.csshrc_send_menu
show_history=0
ssh=/usr/bin/ssh
ssh_args= -x -o ConnectTimeout=10
telnet_args=
terminal=/usr/bin/xterm
terminal_allow_send_events=-xrm '*.VT100.allowSendEvents:true'
terminal_args=
terminal_bg_style=dark
terminal_colorize=1
terminal_decoration_height=10
terminal_decoration_width=8
terminal_font=6x13
terminal_reserve_bottom=0
terminal_reserve_left=5
terminal_reserve_right=0
terminal_reserve_top=5
terminal_size=80x24
terminal_title_opt=-T
title=CSSH
unmap_on_redraw=no
use_hotkeys=yes
window_tiling=yes
window_tiling_direction=right

Für eine Übersicht der einzelnen Optionen, deren Einstellungsmöglichkeiten und Verwendung, kann nachfolgender Befehl verwendet werden:

# man cssh

:!: HINWEIS - Sektion FILES beinhaltet die Einstellungsmöglichkeiten!

Anschließend meine persönlichen Einstellungen, bei Verwendung einer Bildschirmauflösung von 1280×1024 Pixel

$ cat ~/.csshrc
auto_quit=yes
command=
comms=ssh
console_position=
extra_cluster_file=
history_height=10
history_width=40
key_addhost=Control-Shift-plus
key_clientname=Alt-n
key_history=Alt-h
key_paste=Control-v
key_quit=Control-q
key_retilehosts=Alt-r
max_addhost_menu_cluster_items=6
max_host_menu_items=30
menu_host_autotearoff=0
menu_send_autotearoff=0
method=ssh
mouse_paste=Button-2
rsh_args=
screen_reserve_bottom=60
screen_reserve_left=0
screen_reserve_right=0
screen_reserve_top=0
send_menu_xml_file=/home/klaus/.csshrc_send_menu
show_history=0
ssh=/usr/bin/ssh
ssh_args= -x -o ConnectTimeout=10
telnet_args=
terminal=/usr/bin/xterm
terminal_allow_send_events=-xrm '*.VT100.allowSendEvents:true'
terminal_args=
# Tachtler
# default: terminal_bg_style=dark
terminal_bg_style=light
# Tachtler
# default: terminal_colorize=1
terminal_colorize=0
terminal_decoration_height=10
terminal_decoration_width=8
terminal_font=6x13
terminal_reserve_bottom=0
# Tachtler
# default: terminal_reserve_left=5
terminal_reserve_left=0
terminal_reserve_right=0
# Tachtler
# default: terminal_reserve_top=5
terminal_reserve_top=32
# Tachtler
# default: terminal_size=80x24
terminal_size=216x24
terminal_title_opt=-T
title=CSSH
unmap_on_redraw=no
use_hotkeys=yes
window_tiling=yes
window_tiling_direction=right
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/clusterssh.txt · Zuletzt geändert: 2014/11/30 08:36 von klaus