24.10 Druckeradministration und Netzwerkbefehle
Die Druckerbefehle werden aus Platzgründen nur mit Kommando und der
jeweiligen Bedeutung beschrieben. Näheres entnehmen Sie hierbei den
entsprechenden man-Seiten.
Kommando | Bedeutung |
accept | Druckerwarteschlange auf empfangsbereit setzen |
cancel | Druckaufträge stornieren |
disable | Drucker deaktivieren |
enable | Drucker aktivieren |
lp | Ausgabe auf dem Drucker mit dem Print-Spooler |
lpadmin | Verwaltungsprogramm für das CUPS-Print-Spooler-System |
lpc | Steuerung von Druckern |
lphelp | Optionen eines Druckers ausgeben |
lpmove | Druckerauftrag zu einem anderen Drucker verschieben |
lpq | Druckerwarteschlange anzeigen |
lpr | Dateien auf den Drucker ausgeben |
lprm | Druckaufträge in der Warteschlange stornieren |
lpstat | Status der Aufträge anzeigen |
reject | Warteschlange für weitere Aufträge sperren |
Netzwerkbefehle
Netzwerkbefehle erfordern ein tieferes Verständnis. Wenn Sie als Serveradministrator mit Begriffen wie IP-Adresse, MAC-Adresse, DNS, FTP, SSH noch nichts anfangen können, wäre eine fortführende Lektüre wichtig.
24.10.1 arp – Ausgeben von MAC-Adressen
Wenn Sie die Tabelle mit den MAC-Adressen der kontaktierten Rechner benötigen, können Sie das Kommando arp verwenden. Ein Beispiel:
arp -a
fritz.box (192.168.0.254) auf 00:04:0E:A5:F5:4E
[ether] auf eth0
Im obigen Fall ist der Rechner über eine DSL-Modem/Router-Kombination an das Internet angeschlossen, eine sogenannte FritzBox. Die MAC-Adresse ist hierbei die sechsstellige Hexadezimalzahl
00:04:0E:A5: F5:4E.
Benötigen Sie hingegen die MAC-Nummer Ihrer eigenen Netzwerkkarte, so können Sie diese mit ifconfig ermitteln:
ifconfig -a
eth0 Protokoll:Ethernet
Hardware Adresse 00:0E:A6:86:03:CF
In der Zeile eth0 finden Sie hierbei die entsprechende MAC-Adresse unter Hardware Adresse.
24.10.2 ftp – Dateien übertragen
Mit Hilfe von ftp (File Transfer Protocol) können Sie Dateien innerhalb eines Netzwerks (zum Beispiel Internet) zwischen verschiedenen Rechnern transportieren. Da ftp über eine Menge Features und Funktionen verfügt, soll hier nur auf den »Hausgebrauch« eingegangen werden, und zwar darauf, wie Sie Daten von einem entfernten Rechner abholen und auf diesen transferieren. Zunächst müssen Sie sich auf dem Server einloggen. Dies geschieht üblicherweise mit ftp Server_Name.
Nachdem ftp eine Verbindung mit dem Server aufgenommen hat, werden Sie aufgefordert, Ihren Benutzernamen und anschließend das Passwort einzugeben. Wenn alles korrekt war, befindet sich vor dem Prompt ftp> und wartet auf weitere Anweisungen. Jetzt können Sie im Eingabe-Prompt Folgendes machen:
- gewünschtes Verzeichnis durchsuchen: cd, dir, lcd (lokales Verzeichnis)
- FTP-Parameter einstellen: type binary, hash, prompt
- Datei(en) abholen: get, mget
- Datei(en) hochladen: put, mput
- abmelden: bye oder exit
Natürlich bietet ftp weitaus mehr Befehle als diese an, aber alle aufzulisten würde den Rahmen des Buchs sprengen. Im Folgenden soll der Umgang mit ftp anhand eines Beispiels erläutert werden. Zunächst loggen Sie sich per FTP auf einen Server ein:
ftp upload.meinserver.de
Connected to upload.meinserver.de.
220 Welcome to FTP service.
Name (upload.meinserver.de:hatt): <Mein Login>
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
Als Nächstes werden Sie sich wohl das Inhaltsverzeichnis ansehen wollen. Verwenden Sie den Befehl dir (der auf Linux-Systemen meistens dem Aufruf von ls -l entspricht) zum Auflisten:
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 9 1092 1091 4096 Dec 17 15:31 .
drwxr-xr-x 8 0 0 4096 Mar 07 2005 ..
drwxr-xr-x 5 1092 1091 4096 Sep 04 2001 OLD
drwxr-xr-x 3 1092 1091 4096 Sep 03 2001 counter
drwxr-xr-x 8 1092 1091 4096 Sep 02 2001 daten
Wollen Sie nun in ein Verzeichnis wechseln, so können Sie auch hier das schon bekannte Kommando cd verwenden. Ebenso sieht es aus, wenn Sie das aktuelle Arbeitsverzeichnis erfahren wollen, in dem Sie sich gerade befinden.
Hier leistet das bekannte pwd seine Dienste. Das aktuelle Verzeichnis auf dem lokalen Rechner können Sie mit dem Kommando lcd wechseln. Sie können übrigens auch die Befehle auf Ihrem lokalen Rechner verwenden, wenn Sie ein !-Zeichen davor setzen. Hierzu ein Beispiel, das die Befehle nochmals demonstriert.
ftp> pwd
257 "/htdocs"
ftp> cd daten
250 Directory successfully changed.
ftp> pwd
257 "/htdocs/daten"
ftp> !pwd
/home/hatt
ftp> lcd text
Local directory now /home/hatt/text
ftp>
Hier befinden wir uns auf dem Remote-Rechner im Verzeichnis daten, lokal sind wir mittels lcd in das Verzeichnis text gewechselt.
Im entfernten Verzeichnis soll sich die Datei server.txt befinden, die wir auf den Server befördern wollen. Das geschieht mit dem Kommando get:
ftp> get server.txt
local: server.txt remote: server.txt
200 PORT command successful
150 Opening BINARY mode data connection
server.txt (3231 bytes)
226 Transfer complete.
Und schon haben wir die Datei server.txt auf den lokalen Rechner ins Verzeichnis text kopiert. Wollen Sie mehrere Dateien oder gar ganze Verzeichnisse holen, so verwenden Sie mget. Hierbei stehen Ihnen auch die Wildcard-Zeichen * und ? zur Verfügung. Damit mget Sie bei mehreren Dateien nicht jedes Mal fragt, ob Sie diese wirklich holen wollen, können Sie den interaktiven Modus mit prompt abstellen.
Haben Sie jetzt die Datei server.txt bearbeitet und wollen Sie diese wieder hochladen, so verwenden Sie put (oder bei mehreren Dateien mput).
ftp> put server.txt
local: server.txt remote: server.txt
200 PORT command successful
150 Opening BINARY mode data connection
for server.txt
226 Transfer complete.
3231 bytes sent in 0.000106 secs
Damit sollten Sie erfolgreich Dateien ein- und auschecken können. Sie verlassen das System wieder mittels quit, bye oder exit.
Bedenken Sie, dass ftp nicht ganz sicher ist, da Sie bei der Authentifizierung das Passwort unverschlüsselt übertragen.
24.10.3 hostname – Rechnername ermitteln
Das Kommando hostname können Sie verwenden, um den Namen des lokalen Rechners anzuzeigen, zu setzen oder zu verändern. So ein Name erhält eigentlich erst im Netzwerkbetrieb seine echte Bedeutung. Im Netz besteht ein vollständiger Rechnername (Fully Qualified Domain Name) aus einem Eigennamen und einem Domainnamen. Der (DNS-)Domainname bezeichnet das lokale Netz, an dem der Rechner hängt.
Ohne Angabe einer Option wird der vollständige Rechnername ausgegeben. Mit der Option -s geben Sie nur den Eigennamen des Rechners aus und mit -d nur den (DNS-)Domainnamen des lokalen Netzes.
hostname
ripley.nostromo.com
hostname -s
ripley
hostname -d
nostromo.com
24.10.4 ifconfig – Netzwerkzugang konfigurieren
Mit dem Kommando ifconfig können Sie die Einstellungen einer Netzwerkschnittstelle abfragen oder setzen. Alle Einstellungen können Sie sich mit der Option -a anzeigen lassen. Dabei werden auch die inaktiven Schnittstellen aufgelistet. Die Syntax zu ifconfig lautet:
ifconfig Schnittstelle [Addresse [Parameter]]
Dabei geben Sie den Namen der zu konfigurierenden Schnittstelle an. Befindet sich etwa auf Ihrem Rechner eine Netzwerkkarte, so lautet unter Linux die Schnittstelle hierzu eth0, die zweite Netzwerkkarte im Rechner (sofern eine vorhanden ist) wird mit eth1 angesprochen. Die Adresse ist die IP-Adresse, die der Schnittstelle zugewiesen werden soll. Hierbei können Sie die Dezimalnotation (xxx.xxx.xxx.xxx) verwenden oder einen Namen, den ifconfig in /etc/host nachschlägt.
Verwenden Sie ifconfig ohne die Option -a, um sich einen Überblick zu verschaffen, dann werden die inaktiven Schnittstellen nicht mit angezeigt. Der Aufruf für die Schnittstelle zu Ethernet-Karte eth0 sieht beispielsweise wie folgt aus:
ifconfig
eth0
Link encap:Ethernet HWaddr 00:02:2A:D4:2C:EB
inet addr:192.168.1.1
Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:80 errors:0 dropped:0 overruns:0 frame:0
TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:8656 (8.4 KiB) TX bytes:8409 (8.2 KiB)
Interrupt:11 Base address:0xa000
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
...
Wenn IPv6 konfiguriert ist, kommt noch die IPv6-Adresse dazu. Der Ausgabe entnehmen Sie, dass auf dieser Netzwerkkarte 59 Pakete gesendet (TX) und 80 empfangen (RX) wurden. Die maximale Größe einzelner Pakete beträgt 1.500 Byte (MTU). Die MAC-Adresse (Hardwareadresse), die unsere Netzwerkkarte eindeutig identifiziert (außer sie wird manipuliert), lautet 00:02:2A:D4:2C:EB.
Wollen Sie eine Schnittstelle ein- oder ausschalten, so können Sie dies mit den zusätzlichen Parametern up (für Einschalten) und down (für Abschalten) vornehmen. In unserem Beispiel dient wieder die Netzwerkkarte mit dem Namen eth0 als Schnittstelle:
sudo ifconfig eth0 down
Hier haben Sie die Netzwerkkarte eth0 abgeschaltet. Einschalten können Sie sie folgendermaßen:
sudo ifconfig eth0 up
Eine IP-Adresse stellen Sie ein oder verändern sie ebenfalls mit ifconfig:
sudo ifconfig eth0 192.18.19.91
Wollen Sie bei der Schnittstelle Netzmaske und Broadcast-Adresse verändern, so ist dies mit ifconfig wenig Arbeit (unterlassen Sie es, wenn Sie nicht genau wissen, was Netzmaske und Broadcast-Adresse sind):
sudo ifconfig eth0 10.25.38.41 netmask 255.255.255.0 broadcast 10.25.38.255
Damit weisen Sie der Netzwerkkarte die IP-Adresse 10.25.38.41 aus dem Netz 10.25.38.xxx zu. Mit netmask geben Sie an, wie groß das Netz ist (hier ein Netzwerk der Klasse C).
24.10.5 mail/mailx – E-Mails schreiben und empfangen
Mit dem Kommando mail können Sie aus einem Shell-Skript heraus E-Mails versenden. Zuvor muss für Ubuntu allerdings noch die Postfix-Konfiguration angepasst werden. Näheres hierzu entnehmen Sie der Dokumentation zu Postfix. Mit Hilfe der Option -s können Sie dann eine einfache Text-E-Mail mit dem Betreff (-s = Subject) an eine Adresse schicken, beispielsweise:
echo "Hallo" | mail -s "Betreff" rhatt@gmx.de
Da nicht alle mail-Kommandos die Option -s für einen Betreff haben, können Sie gegebenenfalls auch auf mailx oder Mail (mit großem »M«) zurückgreifen, die auf einigen Systemen vorhanden sind. Mit cat können Sie natürlich auch den Inhalt einer ganzen Datei an die E-Mail-Adresse senden:
cat datei.txt | mail -s "Ein Textdatei" rhatt@gmx.de
Dabei können Sie auch die Ausgaben eines Kommandos per mail an eine Adresse versenden:
ps -ef | mail -s "Prozesse 12Uhr" rhatt@gmx.de
Sinnvoll kann dies zum Beispiel sein, wenn auf einem System ein bestimmtes Limit überschritten wurde. Dann können Sie sich (oder einem anderen Benutzer) eine Nachricht zukommen lassen. Ebenso kann überprüft werden, ob ein Server dauerhaft verfügbar ist. Testen Sie etwa stündlich (zum Beispiel mit cron) mittels nmap (hier können Sie nicht nur nachsehen, ob die Netzwerkkarte das UDP-Paket zurückschickt, sondern auch direkt schauen, ob der Port des betreffenden Dienstes noch offen ist), ob der Server erreichbar ist. Ist er es einmal nicht, können Sie sich hierüber eine Nachricht zukommen lassen. Zusätzliche Optionen, die Sie mit mail und mailx verwenden können, sind:
Option | Bedeutung |
-s Betreff | Hier können Sie den Betreff (Subject) der E-Mail angeben. |
-c Adresse | Diese Adresse bekommt eine Kopie der E-Mail. |
-b Adresse | Diese Adresse bekommt eine Blind Carbon Copy der E-Mail. |
24.10.6 netstat – Statusinformationen über das Netzwerk
Für die Anwendung von netstat gibt es viele Möglichkeiten. Mit einem einfachen Aufruf von netstat zeigen Sie den Zustand einer bestehenden Netzwerkverbindung an. Neben der Überprüfung von Netzwerkverbindungen können Sie mit netstat Routentabellen, Statistiken zu Schnittstellen, maskierte Verbindungen und noch vieles mehr anzeigen lassen. In der Praxis lässt sich somit problemlos die IP-Adresse oder der Port eines ICQ-Users ermitteln oder ob ein Rechner mit einen Trojaner infiziert ist. Hier einige Beispiele:
netstat -nr
Mit diesem Befehl lassen Sie sich die Routing-Tabelle (-r) des Kernels ausgeben. Mit der Option -i erhalten Sie die Schnittstellenstatistik:
netstat -i
Mit netstat -ta erhalten Sie die Anzeige aller Verbindungen. Die Option -t steht dabei für TCP. Mit -u, -w oder -x zeigen Sie die UDP-, RAW- oder UNIX-Sockets an. Mit -a werden dabei auch die Sockets angezeigt, die noch auf eine Verbindung warten.
24.10.7 nslookup (host/dig) – DNS-Server abfragen
Mit nslookup können Sie aus dem Domainnamen eine IP-Adresse oder die IP-Adresse zu einem Domainnamen ermitteln. Zur Auflösung des Namens wird gewöhnlich der DNS-Server verwendet. Bei der Verwendung von nslookup werden Sie lesen, dass nslookup künftig von den Kommandos host oder dig abgelöst wird. Hier sehen Sie nslookup und host bei der Ausführung über einen vorgeschalteten Router
(IP-Adresse: 192.168.0.254):
nslookup www.google.de
Server: 192.168.0.254
Address: 192.168.0.254#53
Non-authoritative answer:
...
Name: www.l.google.com
Address: 66.249.93.104
Name: www.l.google.com
Address: 66.249.93.99
host www.google.de
www.google.de is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.183.104
24.10.8 ping – Verbindung zu einem anderen Rechner testen
Wollen Sie die Netzwerkverbindung zu einem anderen Rechner testen oder einfach nur den lokalen TCP/IP-Stack überprüfen, so können Sie das Kommando ping (Packet Internet Groper) verwenden. Die Syntax lautet ping Host. ping überprüft dabei, ob der Host (IP-Adresse oder Domainname) antwortet.
ping bietet eine Menge zusätzlicher Optionen an, die noch mehr Infos liefern, die allerdings hier aus Platzgründen nicht genauer erläutert werden können. Zur Überprüfung sendet ping ein ICMP-Paket vom Typ ICMP Echo Request an die Netzwerkstation. Hat die Netzwerkstation das Paket empfangen, sendet sie ebenfalls ein ICMP-Paket, allerdings vom Typ ICMP Echo Reply, zurück.
ping -c3 www.google.de
PING www.l.google.com (66.249.93.104) 56(84) bytes
64 bytes from 66.249.93.104: icmp_seq=1 time=74.8 ms
64 bytes from 66.249.93.104: icmp_seq=2 time=75.3 ms
64 bytes from 66.249.93.104: icmp_seq=3 time=75.5 ms
--- www.l.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss,
time 2002ms
rtt min/avg/max/mdev = 74.831/75.249/75.575/0.443 ms
Hier wurden drei Pakete (mit der Option -c kann die Anzahl der Pakete angegeben werden) an www.google.de gesendet und wieder erfolgreich empfangen, wie aus der Zusammenfassung am Ende zu entnehmen ist. Rufen Sie ping hingegen ohne eine Option auf wie hier
ping www.google.de
so müssen Sie selbst für eine Beendigung des Datenaustauschs zwischen den Rechnern sorgen. Ein einfaches + tut in diesem Fall seinen Dienst, und Sie erhalten ebenfalls wieder eine Zusammenfassung. Neben der Möglichkeit, die Verfügbarkeit eines Rechners und des lokalen TCP/IP-Stacks zu prüfen (ping localhost), können Sie außerdem auch die Laufzeit von Paketen vom Sender zum Empfänger ermitteln. Hierzu wird die Zeit halbiert, bis das »Reply« eintrifft.
24.10.9 Die r-Kommandos (rcp, rlogin, rsh)
Aus Sicherheitsgründen empfiehlt es sich, die Tools rcp, rlogin und rsh nicht mehr einzusetzen und stattdessen auf die mittlerweile sichereren Alternativen ssh und scp zu setzen. Bei den unsicheren r-Kommandos wird das Passwort beim Einloggen im Klartext, also ohne jede Verschlüsselung, übertragen.
Bedenken Sie, dass ein unverschlüsseltes Passwort, das zwischen zwei Rechnern im Internet übertragen wird, jederzeit (mit einem »Sniffer«) abgefangen und mitgelesen werden kann. Für Passwörter gilt im Allgemeinen, dass man diese niemals im Netz unverschlüsselt übertragen sollte. Da es mittlerweile Möglichkeiten zur Passwortübertragung mit der Secure Shell (ssh) gibt, haben die r-Kommandos eigentlich keine Berechtigung mehr.
Schlimmer noch, für die Befehle rsh und rcp war auf den Zielrechnern nicht einmal ein Passwort nötig. Eine Authentifizierung erfolgte hierbei über die Dateien /etc/hosts.equiv und /.rhosts. Darin wurden einzelne Rechner eingetragen, die als vertrauenswürdig empfunden wurden und so die Passwort-Authentifizierung umgehen konnten.
24.10.10 ssh – sichere Shell auf einem anderen Rechner starten
Der Dienst ssh (Secure Shell) zählt mittlerweile zu einem der wichtigsten Dienste überhaupt. Er ermöglicht es, eine verschlüsselte Verbindung zwischen zwei Rechnern aufzubauen. ssh wurde aus der Motivation heraus entwickelt, sichere Alternativen zu telnet und den r-Kommandos zu schaffen.
Wenn Sie zum ersten Mal eine Verbindung zu einem anderen Rechner herstellen, bekommen Sie gewöhnlich eine Warnung, in der ssh nachfragt, ob Sie dem anderen Rechner vertrauen wollen. Wenn Sie mit »yes« antworten, speichert ssh den Namen und den RSA-Fingerprint (dies ist ein Code zur eindeutigen Identifizierung des anderen Rechners) in der Datei /.ssh/known_hosts. Beim nächsten Starten von ssh erfolgt diese Abfrage dann nicht mehr.
Im nächsten Schritt erfolgt die Passwortabfrage, die verschlüsselt übertragen wird. Bei korrekter Eingabe des Passworts beginnt die Sitzung auf dem anderen Rechner (als hätten Sie diesen Rechner vor sich). Die Syntax lautet:
ssh -l Loginname Rechnername
Zur Beruhigung der ganz Ängstlichen: Für jede Verbindung über ssh wird zwischen den Rechnern immer ein neuer Sitzungsschlüssel ausgehandelt. Will ein Angreifer einen solchen Schlüssel knacken, benötigt er unglaublich viel Zeit. Sobald Sie sich ausloggen, müsste der Angreifer erneut versuchen, den Schlüssel zu knacken. Dieses Szenario ist natürlich nur rein theoretisch, denn es handelt sich immerhin um Schlüssel wie RSA, Blowfish, IDEA und TRIPLE-DES, zwischen denen Sie hier wählen können. Alle diese Schlüssel gelten als sehr sicher.
24.10.11 scp – Dateien per ssh kopieren
Das Kommando scp ist Teil einer ssh-Installation, mit der Sie Dateien sicher zwischen unterschiedlichen Rechnern kopieren. scp funktioniert genauso wie das lokale cp. Der einzige Unterschied ist natürlich die Angabe der Pfade auf den entfernten Rechnern.
Dabei sieht die Verwendung des Rechnernamens wie folgt aus: benutzer@rechner:/verzeichnis/zum/ziel.
Um auf einen Account meinserver.de zu gelangen, dessen Benutzername meinlogin lautet, verfahren Sie wie folgt:
scp datei.txt meinlogin@meinserver.de:~
meinlogin@meinserver.de's password:********
datei.txt 100% 3231
3.2KB/s 00:00
scp meinlogin@meinserver.de:~/bilder/bild.gif $HOME
meinlogin@meinserver.de's password:********
baum.gif 100%
8583
8.4KB/s 00:00
Zuerst wurde die Datei datei.txt aus dem aktuellen lokalen Verzeichnis in das Heimverzeichnis von meinserver.de kopiert (/home/meinlogin). Anschließend wurde aus dem Verzeichnis\linebreak /home/meinlogin/bilder die GIF-Datei bild.gif auf meinen lokalen Rechner kopiert. scp ist in der Tat eine interessante Lösung, um Dateien auf mehreren Rechnern mit einem Skript zu kopieren.
Passwortabfrage umgehen
Was allerdings bei der Skriptausführung stören dürfte (besonders wenn diese automatisch geschehen sollte), ist die Passwortabfrage, denn durch die würde der Prozess angehalten. Hierzu bietet es sich an, sich mit Hilfe eines asymmetrischen Verschlüsselungsverfahrens ein Login ohne Passwort zu verschaffen. Dazu stellen Sie am besten auf dem Clientrechner mit dem Programm ssh-keygen ein entsprechendes Schlüsselpaar (hier mit einem RSA-Schlüssel) bereit:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key
(/home/hatt/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved
in /home/hatt/.ssh/id_rsa.
Your public key has been saved
in /home/hatt/.ssh/id_rsa.pub.
The key fingerprint is:
46:85:12:80:9d:a7:62:01:18:0f:1c:a0:27:61:a2:94
marcus@august
In diesem Beispiel wurden zwei RSA-Schlüssel ohne Passphrase erstellt. Jetzt haben Sie zwei Schlüssel, einen privaten (id_rsa) und einen öffentlichen (id_rsa.pub). Damit Sie alle ssh-Aktionen ohne Passwort durchführen können, müssen Sie den öffentlichen Schlüssel nur noch auf den Benutzeraccount des Servers hochladen.
scp .ssh/id_rsa.pub \
meinlogin@meinserver.de:~/.ssh/
meinlogin@meinserver.de.de's password:********
id_rsa.pub 100% 219
0.2KB/s 00:00
Loggen Sie sich nun noch einmal ein, und hängen Sie die Datei id_rsa.pub an die Datei
~/.ssh/authorized_keys:
ssh meinlogin@meinserver.de
meinlogin@meinserver.de's password:********
...
cd ~/.ssh
ls
id_rsa.pub known_hosts
cat id_rsa.pub >> authorized_keys
Nach dem erneuten Einloggen über ssh oder nach dem Kopieren mit scp sollte die Passwortabfrage der Vergangenheit angehören.
24.10.12 rsync – Replizieren von Dateien und Verzeichnissen
Das Kommando rsync wird verwendet, um Dateien oder ganze Verzeichnisse oder Verzeichnisbäume zu synchronisieren. Hierbei kann sowohl eine lokale als auch eine entfernte Synchronisation erfolgen.
Syntaktisch nicht korrekt
Der Ausdruck »synchronisieren« ist rein syntaktisch nicht richtig. Man kann zwar einem Verzeichnisbaum »X« Daten hinzufügen, so dass dieser exakt denselben Inhalt erhält wie der Verzeichnisbaum »Y«. Dies funktioniert allerdings umgekehrt nicht. Man spricht hierbei korrekt vom »Replizieren«. Die Syntax zu rsync lautet:
rsync [Optionen] Quelle Ziel
Einige Beispiele:
rsync -avzb -e ssh meinserver.de:/ /home/marcus/backups/
Diese Eingabe synchronisiert die Website meinserver.de mit dem lokalen Verzeichnis /home/marcus/backups. Mit a verwenden Sie den Archive-Modus, mit b werden Backups erstellt, und mit v (für verbose) wird rsync etwas gesprächiger.
Komprimieren
Durch die Option z werden die Daten komprimiert übertragen. Außerdem wird mit der Option -e und ssh eine verschlüsselte Datenübertragung verwendet.
Geben Sie bei der Quelle als letztes Zeichen einen Slash (/) an, so wird dieses Verzeichnis nicht mitkopiert, sondern nur der darin enthaltene Inhalt, beispielsweise:
rsync -av /home/marcus/ubuntubuch/ /home/marcus/backups
Hier wird der Inhalt von /home/marcus/ubuntubuch nach /home/marcus/backups kopiert. Würden Sie hingegen
rsync -av /home/marcus/ubuntubuch /home/marcus/backups
schreiben, so würde in /home/marcus/backups das Verzeichnis ubuntubuch angelegt (/home/marcus/backups/ubuntubuch/) und alles dorthin kopiert. Dieser Fehler hat schon viele Anwender einige Nerven gekostet.
Es folgt nun ein Überblick zu einigen Optionen von rsync. Weiterführende Informationen zu rsync finden Sie auf der Website http://rsync.samba.org oder wie üblich auf der Manual-Seite.
Option | Bedeutung |
-a (archive mode): | Kopiert alle Unterverzeichnisse mitsamt Attributen (Symlinks, Rechte, Dateidatum, Gruppe, Devices) sowie (wenn man Root ist) den Eigentümer der Datei(en). |
-v (verbose): | Gibt während der Übertragung eine Liste der übertragenen Dateien aus. |
-n (dry-run): | nichts schreiben, sondern den Vorgang nur simulieren – ideal zum Testen |
-e Programm | Wenn in der Quelle oder dem Ziel ein Doppelpunkt enthalten ist, interpretiert rsync den Teil vor dem Doppelpunkt als Hostnamen und kommuniziert über das mit -e spezifizierte Programm. Gewöhnlich wird hierbei als Programm ssh verwendet. Weitere Parameter können Sie diesem Programm in Anführungszeichen gesetzt übergeben. |
-z | Der Parameter -z bewirkt, dass rsync die Daten komprimiert überträgt. |
--delete --force, --delete-excluded | Löscht alle Einträge im Zielverzeichnis, die im Quellverzeichnis nicht (mehr) vorhanden sind. |
--partial | Wurde die Verbindung zwischen zwei Rechnern getrennt, so wird die nicht vollständig empfangene Datei nicht gelöscht. So kann bei einem erneuten rsync die Datenübertragung fortgesetzt werden. |
--exclude=Pattern | Hier kann man Dateien angeben, die man ignorieren möchte. Reguläre Ausdrücke sind möglich. |
-x | Schließt alle Dateien auf einem Filesystem aus, die in ein Quellverzeichnis hineingemountet sind. |
24.10.13 traceroute – Route zu einem Rechner verfolgen
traceroute ist ein TCP/IP-Tool, mit dem Informationen darüber ermittelt werden können, welche Computer ein Datenpaket über ein Netzwerk passiert, bis es bei einem bestimmten Host ankommt. Zum Beispiel:
traceroute www.heise.de
traceroute to www.heise.de (193.99.144.85),
30 hops max, 38 byte packets
1 fritz.box (192.168.0.254) 0.660 ms 6.143 ms
2 217.0.116.165 (217.0.116.165) 32.240 ms 32.623 ms
3 217.0.71.242 (217.0.71.242) 32.934 ms 33.571 ms
4 m-ec1.M.DE.net.DTAG.DE (62.154.28.26) 46.186 ms
...
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.