lsh

lsh
Copyright © 2013 lysator.liu.se
For original English text, go to: http://www.lysator.liu.se
Translated by M.Dmitrieva

Inhaltsübersicht


Knoten: Spitze, Weiter:Einführung, Zurück: (dir), Anfang: (dir)

Dieses Dokument beschreibt lsh und zugehörige Programme. Die lsh Programmfolge ist als ein freier Ersatz für die ssh Programmfolge beabsichtigt. Der Reihe nach war ssh als ein sicherer Ersatz für den rsh und rlogin Programme beabsichtigt, für die Fernanmeldung über das Internet.

lsh ist ein Bestandteil des GNU-Systems.

Dieses Handbuch erklärt, wie soll man lsh benutzen und zerhackt; es entspricht lsh Version 2.0.

Einführung:
Installation:
Erste Schritte:
lsh Hervorrufen:
lshg Hervorrufen:
lshd Hervorrufen:
Dateien und Umgebungsvariablen:
Fachsprache:
Konzeptindex:

— Der ausführliche Knoten, der—Schlagseite hat

Einführung

Bedrohungen:
Funktionen:
Zugehörige Techniken:

Zugehörige Programmen und Techniken

ssh1: SSH Version 1
ssh2: SSH Version 2
Kerberos: Kerberos
ipsec: IP Sec

Erste Schritte

lsh-make-seed: Initialisieren des Zufallsgenerators
lsh-Grundlagen: Verbindung mit lsh
Tcpip-Weiterleitung: Portweiterleitung TCP/IP
lshd basicsLshd-Grundlagen: Start-Daemon lshd
Public-Key: Einsatz von öffentlichen Schlüsseln
srp: Einsatz SRP Authentisierung
sexp: Überprüfen von Schlüsseln und anderen S-exp Dateien
Schlüsselkonvertierung:

lsh Hervorrufen

Algorithmen: Algorithmen Auswählen.
Hostauth Optionen:
Userauth Optionen:
Handlungen: Was soll man nach der Anmeldung ausführen.
Meldungen:  Abstimmung der Datenmelden.


Knoten: Einführung, Weiter:, Zurück: Anfang: Spitze

Einführung

Was ist dieses Ding genannt irgendwie Computersicherheit? Warum würden Sie ein Programm wie lsh verwenden wollen?

Dieses Kapitel beschreibt wie die Bedrohungen lsh versuchen Sie vor einige Bedrohungen zu schützen, und vor anderen die noch dabei bleiben. Es beschreibt auch einige der Technologien eingesetzten in lsh.

In diesem Handbuch werde ich öfter über den Gegner sprechen. Das bedeutet jeden, der versucht zu lauschen oder Ihre private Kommunikation zu stören. Dieser Gebrauch ist technisch, und er lässt nicht darauf zu schließen, dass der Gegner irgendwie Ihnen moralisch untergelegt ist: Der Gegner kann für einige schreckliche Verbrecher stehen, versuchend Sie zu lauschen, oder es kann die Polizei sein, versuchend dieselben Verbrecher zu lauschen.

Der Gegner kann ein Verbrecher oder ein Mitbewerber oder Ihr Chef sein, der versucht herauszufinden, wie viel Sie Kollegen an konkurrierenden Unternehmen erzählen. Es kann Ihr eigenes oder jemanden anderen von den nationalen Sicherheitsbeamten. Oder Ihr Ex-Freund, der zufällig zu neugierig ist.

So, was kann der Gegner zu Ihren Kommunikationen und Ihrer Gemütlichkeit tun? Erinnern Sie sich, nur denn Sie paranoid sind, dann bedeutet das nicht, dass niemand versucht Sie einzufangen…

Bedrohungen:
Eigenschaften:
Zugehörige Techniken:


Knoten: Bedrohungen, Weiter: , Zurück: Einführung, Anfang: Einführung

Bedrohungen

Bei der Anmeldung zu einem anderen Computer mittels des Internets, entweder in demselben Gebäude oder in einigen Kontinenten weg, gibt es mehrere Dinge, die sich unter dem feindlichen Angriff befinden können.

Lokale Angriffe
Der Gegner kontrolliert Ihre lokale Umgebung. Er oder sie können über Ihrer Schulter sehen. Ihr lokaler Computer könnte geknackt werden. Oder es könnte ein Gerät geben, eingesetzt innerhalb Ihrer Tastatur,  sowie übersendend alles Angreifer, was Sie tippen. Dieselben Probleme kommen vor, ob der Angreifer Kontrolle über Ihre Zielcomputer genommen hat, d. h. die Remote-Maschine Sie haben, hat dazu geloggt.

Dienstverweigerung Angriffe
Der Gegner hat Ihr Netzkabel geschnitten, effektiv Ihre Kommunikation aufhörend. Sogar ohne Sachschaden damit zu tun, kann der Gegner im Stande sein, den Computer oder die Netzausrüstung zu überschwemmen und zu überladen. Oder den Netzverkehr zu stören, durch Versendung Nachpakete für die Blockierung Ihrer TCP/IP Verbindungen.

Das passive Abhören
Der Gegner kann im Stande sein, Ihrer Kommunikation irgendwo entlang seinem Pfad zuzuhören. Mittels des globalen Internets ist es schwierig vorauszusagen, wer im Stande sein könnte zu hören. Der Internetverkehr zwischen gerade einige hundert Meter entfernt Gebäuden ist provisorisch beobachtet worden, durch ein halbes Dutzend Länder, vielleicht einige tausend Kilometer aufgewühlt.

Und sogar ohne Routing Abweichungen ist es möglich, dass der Gegner im Stande gewesen wurde, die Kontrolle über einen nahen gelegenen Computer zu nehmen, und in dorther hören kann. Natürlich ist das passive Abhören am gefährlichsten, ob Sie Klartextkennworten übersenden. Das ist der Hauptgrund kein schlichtes und einfaches Telnetprogramm bei der Anmeldung Remote-Systemen zu verwenden. Verwenden Sie einen Telnetprogramm mit der Unterstützung für SSL oder Kerberos, oder verwenden Sie ein Programm wie lsh oder ssh.

Ein passiver Lauscher ist beabsichtigt nicht für irgendetwas Scheußliches für Ihre Pakete nach dem ihnen zuhören.

Namensrückführung Angriffe
Die Übersetzung von symbolischen DNS-Namen bis zu numerischen Ip-Adressen könnte vom Angreifer kontrolliert werden. In diesem Fall können Sie denken, dass Sie zu einer freundlichen Maschine in Verbindung stehen, wenn tatsächlich stehen Sie sonst wohin in Verbindung.

Nachpakete
Es ist ziemlich leicht die Quelladresse eines IP-Pakets zu fälschen, obwohl es schwieriger ist auf den Antworten zu den gefälschten Paketen zu erwischen. Aber sogar ohne irgendwelche Antworten kann das ernste Probleme verursachen.

Man-In-The-Middle Angriff
Unter diesem Angriff steht der Gegner zwischen Ihnen und dem Ziel. Bei der Kommunikation mit Ihnen, gibt er vor, das Ziel zu sein. In der Kommunikation mit dem Ziel, vortäuscht er, als ob Sie sind. Er gibt weiter die ganze Information einigermaßen unverändert, so dass er für Sie und das Ziel unsichtbar ist. Für die Durchführung des Angriffs, braucht den Gegner entweder physischen Zugang zu einer Netzausrüstung auf dem Pfad zwischen Ihnen und dem Ziel, oder war er klug genug, Sie zum Narren zu halten, um mit ihm in Verbindung zu bringen statt mit dem Ziel, zum Beispiel mittels der Manipulierung DNS-System.

lsh macht keinen Versuch, Sie vor lokalen Angriffen zu schützen. Sie müssen den Endpunkt-Maschinen vertrauen. Es scheint wirklich schwierig, jede Sicherheit hochzuhalten, wenn die lokale Maschine in Verlegenheit gebracht wird. Das ist wichtig um im “Besucher” – Szenario zu beachten, wohin Sie einen Freund oder vielleicht ein Internetcafé besuchen und will sich zu einigen der Maschinen zuhause oder bei der Arbeit einzuwählen. Ob der Gegner im Stande gewesen ist, Ihren Freund oder die Ausrüstung des Cafés in Verlegenheit zu bringen, können Sie sich auch in Schwierigkeiten befinden.

Der Schutz vor Dienstverweigerung Angriffen ist auch ein sehr schwieriges Problem, und lsh macht keinen Versuch Sie davor zu schützen.

Stattdessen das lsh Ziel und die ernstesten Werkzeuge für den kryptografischen Schutz der Kommunikationen durch das Netz, die Verwundbarkeit gegenüber den Nachrichtenendpunkten isolieren. Ob Sie wissen, dass die Endpunkte sicher sind, sollte der Gegner nicht im Stande sein, Ihre Gemütlichkeit oder Kommunikationen in Verlegenheit zu bringen. Abgesehen von der Dienstverweigerung Angriffen (der mindestens ohne durchgeführt werden kann, das bemerkend).

Zuallererst besorgt lsh Schutz gegen das passive Abhören. Außerdem, wenn Sie die passenden Maßnahmen ergreifen, um sicherzustellen, dass Hosttasten richtig beglaubigt werden, lsh schützt auch gegen den Man-In-The-Middle Angriffen und insbesondere gegen Angriffe auf die Namenauflösung. Kurz gesagt, Sie müssen nur der Sicherheit an den Endpunkten vertrauen: Sogar wenn der Gegner die ganze andere Netzausrüstung, Namenauflösung und Routing-Infrastruktur usw. kontrolliert, kann er nichts über Dienstverweigerung Angriff hinaus tun.

Und schließlich, merken Sie sich es gibt keinem solchen Ding wie die absolute Sicherheit. Sie müssen Ihren Wert davon schätzen, und die Sicherheitsmaßnahmen anzupassen, so dass Ihrer Gegner finden, dass sich die Mühe nicht lohnt diese zu brechen.


Knoten: Eigenschaften, Weiter: , Zurück: Bedrohungen, Anfang: Einführung

Eigenschaften

lsh besorgt nicht nur sichereren Ersatz für das Telnetprogramm, rsh und rlogin, aber auch besorgt einige andere Eigenschaften für eine günstige sichere Kommunikation. Man erwartet darauf, dass mit der Zeit sich diese Abteilung entwickeln wird, weil mehr Eigenschaften aus der Wunschliste zu lsh hinzugefügt werden. Eine Absicht für lsh ist es angemessen leicht zu machen, zu erweitern, ohne sich mit der Kernsicherheitsfunktionalität einzumischen.

lsh kann auch bei etwas genannt Gateway-Weise eingesetzt werden, in der Sie einmal beglaubigen und eine Verbindung aufstellen können, die später eingesetzt werden kann, um neue Sitzungen mit lshg schnell aufzustellen (siehe lshg Hervorrufen).

lsh kann konfiguriert werden, um die Anmeldung zu erlauben, basierte auf einem persönlichen Schlüsselpaar, das aus einem privaten und einem öffentlichen Schlüssel besteht, so dass Sie entfernte Befehle durchführen können, ohne Ihr Kennwort jedes Mal zu tippen. Es gibt auch experimentelle Unterstützung für das Swcure Remote Password-Protokoll von Thomas Wu (SRP). Kerberos Support befindet sich unter der Wunschliste, aber wird bereits noch nicht unterstützt (siehe Kerberos).

Die Public-Key Authentifizierungsmethode sollten auch erweitert werden, für das Support von Simple Public Key Infrastructure (SPKI) Zertifikate, einschließlich einige Mechanismus bei der Stellvertretung  eingeschränkter Anmeldungen.

Die Beförderung willkürlicher TCP/IP Verbindungen wird besorgt. Das ist nützlich für das Protokoll für eine getunnelte Verbindung, wie Telnet und Pop, durch eine lsh verschlüsselte Verbindung.

lsh zeigt auch eine SOCKS-Proxy auf, die auch TCP/IP getunnelte Verbindung besorgt, aber könnte leicht eingesetzt werden, z.B. aus populären WWW-Browsern wie Mozilla und Firefox für das Tunneling Webverkehr. Es gibt auch Programme wie tsocks, der durchsichtige Wiederrichtung des Netzzugangs durch eine SOCKE-Proxy durchführt.

Eine der eindrucksvollsten Eigenschaften der ursprünglichen ssh Programme war das günstige Tunneling X. Sowohl lsh als auch lshd unterstützen X-Beförderung, obwohl lshg nicht unterstützt.

Die X Beförderung besteht wenn das Remote Prozess ist in einer Umgebung angefangen worden, wo die DISPLAY-Variable in der Umgebung auf eine Nachserver X verweisen, Verbindungen zu denen wird X Server in Ihrer lokalen Umgebung nachgeschickt werden. lsh bildet auch eine neue “Fälschung” MIT-MAGIC-COOKIE-1 für die Kontrolle Zugriffssteuerung. Ihr wirkliche X Authentisierungsinformation wird nie an die Remote Maschine gesandt.

Andere nützliche Tunneling Arten beim Einschließen Authentisierung (d. h. ssh-agent), UDP allgemeine Beförderung, und warum nicht auch General IP-Tunneling.


Knoten: Zugehörige Techniken, Zurück: Eigenschaften, Anfang: Einführung

Zugehörigen Programme und Techniken

Diese Abteilung beschreibt einige andere Programme und Techniken verbundene mit lsh. Die ssh Programmfamilie setzt größtenteils dieselbe Art Sicherheit ein, wie lsh. Kerberos und IPSEC funktionieren ganz verschieden insbesondere, wenn es zum Schutz gegen Man-In-The-Middle Angriffen kommt.


Knoten: a name=”ssh1″>ssh1, Weiter: , Zurück: Zugehörige Techniken, Anfang: Zugehörige Techniken

ssh-1.x

Tatu Ylönen ssh war erster von der Programmen Secure Shell. Die letzte Version unter der Reihe 1 ist ssh-1.33, der die Version 1.5 des Protokolls redet. Die “freie” Version ssh-1.33 erlaubt keine kommerziellen Gebrauch ohne das zusätzliche Genehmigen, das gemäß Debian’s Free Software Guidelines und Open Source Definition macht ssh-1.33 nichtkostenlose Software.

Das Version 1 Protokoll hat einige feine Schwächen, insbesondere die ganze Unterstützung für das Einsatz der Stromziffer war standardmäßig einige Versionen zurück für Sicherheitsgründe arbeitsunfähig.

Dort auch besteht freie ssh-1 Durchführungen, sowohl für Unix als auch für Windows. ossh und späterer OpenSSH werden aus früherer Version aus dem Tatu Ylönen ssh abgeleitet, und sind kostenlose Software.


Knoten: ssh2, Weiter: , Zurück: ssh1: Zugehörige Techniken

ssh-2.x

ssh2 führt die folgende Generation des Secure Shell Protokolls durch, deren Entwicklung durch den IETF secsh Arbeitsgruppe beaufsichtigt wird. Außer lsh, einige weithin bekannte Durchführungen dieses Protokolls einschließen

  • OpenSSH (seit dem Mai 2000 unterstützt Version 2 des Protokolls).
  • SSH Gesellschaft hat die ssh2 Reihe von systemgebundenen Programmen verkauft. lsh zusammenfunktioniert mit jetzigen Versionen dieser Programme, aber nicht mit der Version 3.0 und früher (wahrscheinlich die älteren Versionen implementieren falsch einige Details des Protokolls, weil das die Protokoll-Spezifizierung zurückdatiert). Die Lizenz für die ssh2 Programme der SSH Gesellschaft ist ähnlich für die neuen ssh1 Versionen, aber mit einer engeren Definition des “nichtkommerziellen Einsatzes”.
  • PuTTY, eine freie ssh Durchführung für Microsoft Windows.

Es gibt auch vieler anderer Durchführungen, sowohl frei als auch systemgebundene. Die obengenannte Liste ist alles andere als abgeschlossen.


Knoten: Kerberos, Weiter: , Zurück: ssh2, Anfang: Zugehörige Techniken

Kerberos

Kerberos ist ein Schlüsselverteilungssystem ursprünglich im späten 1980er entwickelt als ein Teil des Projektes Athena an MIT. Neue Entwicklung ist an Königlicher Technische Hochschule Stockholm (KTH) ausgeführt worden.

Kerberos setzt einen zentralen vertrauten Ticket Granting Server ein, und verlangt weniger Vertrauen zu den lokalen Maschinen im System. Es setzt keine Public-Key Technologie.

Gewöhnlich Kerberos Support wird in Anwendungen wie Telnet, ftp und X-clients kompiliert. Andererseits versucht die ssh Programmfamilie die ganze erforderliche Magie zu tun, zum Beispiel X sicher nachzuschicken, und dann besorgt allgemeinen TCP/IP Beförderung, als eine Küchenspüle.

Ich halte Kerberos und lsh Schutz gegen das passive Abhören für größtenteils gleichwertig. Der Unterschied besteht im Maschinen Satz und Annahmen denen Sie vertrauen müssen, um vor einem Man-In-The-Middle Angriff sicher zu sein.

Ich denke der lsh Hauptvorteil über Kerberos darin besteht, es ist leichter zu installieren und auf dem gewöhnlichen sterblichen Benutzer zu verwenden. Um die Schlüsselumwechslung zwischen zwei verschiedenen Systemen von Kerberos (oder Kerberos Bereiche) aufzustellen, müssen die jeweiligen Computersystemoperateure den Schlüssel austauschen. Im Fall von zwei zufälligen Benutzern an zwei zufälligen Seiten, sich lsh oder einem anderen Programm in der ssh Familie niederlassend, ist wahrscheinlich leichter als zu veranlassen, dass die Maschinenbediener Zeit und Aufmerksamkeit dafür verbringen. So sollte lsh leichter sein, in einer anarchischen bodenständigen Umgebung einzusetzen.

Eine andere Perspektive ist ssh-Eigenschaften wie X und TCP/IP Beförderung zusammenzufügen, mit der Authentifizierung basiert auf Kerberos. Solch eine Einordnung kann die beste von zwei Welten für diejenigen besorgen, die zufällig ein Konto unter einer passenden Ticker Granting Server haben.


Knoten: ipsec, Weiter: Kerberos, Anfang: Zugehörige Techniken

IPSEC

IPSEC ist eine Protokollen Satz für das allgemeinen IP Schutzverkehr. Es wird von einer anderen IETF Arbeitsgruppe entwickelt, und ist auch ein erforderlicher Teil der IP Version 6.

Wieder ist der Hauptunterschied zwischen IPSEC, Kerberos und ssh der Maschinen Satz, die sicher sein müssen und die Schlüssel, die ausgetauscht werden müssen, um Man-In-The-Middle Angriffen zu vermeiden.

Aktuelle IPSEC Protokolle und Durchführungen besorgen nur die Authentifizierung von Maschinen; es gibt nichts Analoges zur Benutzerauthentisierung  in ssh oder Kerberos.

Andererseits besorgt IPSEC einen verschiedenen Vorteil gegenüber der Anwendungsebene -Verschlüsselung. Weil IP und TCP Headers beglaubigt werden, besorgt er Schutz gegen einige Dienstverweigerung Angriffe. Insbesondere es führt Angriffe, die Aufhängen einer TCP Verbindung  beträchtlich schwierig verursachen.

So hat es Sinn, sowohl IPSEC als auch ein Anwendungsebene kryptografisches Protokoll einzusetzen.

Hinweis: es ist möglich Point-to-Point Protocol (PPP) am Tunnel willkürlicher IP Verkehr mittels einer ssh Verbindung einzusetzen. Diese Einordnung besorgt etwas der IPSEC Funktionalität, und wird manchmal als “ein Virtuelles Privates Netz eines armen Mannes” genannt.


Knoten: Installation, Weiter: a rel=”next” accesskey=”n” href=”#Getting%20started”>Erste Schritte, Zurück: Einführung, Anfang: Spitze

Installation

Die lsh Installation wird gewöhnlich folgendermaßen installiert:  ./configure && make && make install. Für eine uneingeschränkte Zulassung der Optionen können Sie konfigurieren ./configure --help. Verwenden Sie zum Beispiel --without-pty für das Abschalten pty-support.

Die meistens verwendete Option ist --prefix, das bestimmt, wo lsh installiert werden sollte. Default Prefix ist /usr/local. Der lshd Server wird im $prefix/sbin installiert, alle anderen Programme und Schriften werden im $prefix/bin installiert.

Die Skriptkonfiguration versucht aufzuzeigen, ob der Linke irgendwelche speziellen Fahnen braucht, beim Angeben, wo man dynamisch verbundene Bibliotheken in der Durchlaufzeit finden kann (ein Fall, wo das von Bedeutung ist, ist wenn Sie einen dynamischen libz.so in einem Sonderplatz installieren ließen). Gewöhnlich können Sie verwenden

./configure --with-lib-path=/opt/lib:/other/place

Extrabibliotheksverzeichnisse und das configure-Skript anzugeben, sollte das Richtige tun. Ob das nicht funktioniert, oder denken Sie, dass Sie Ihr System besser wissen als ./configure, nur einfach setzen LDFLAGS und/oder LD_LIBRARY_PATH zu den richtigen Werten stattdessen ein.


Knoten: Erste Schritte, Weiter: <, Zurück: Installation, Anfang: Spitze

Erste Schritte

Diese Abteilung hilft Ihnen, wie man einige allgemeine Aufgaben mit dem lsh Programmpaket durchführt, ohne alle Optionen und Möglichkeiten zu bedecken.


Knoten: lsh-make-seed, Weiter: , Zurück: Erste Schritte, Anfang: Erste Schritte

Initialisieren des Zufallsgenerators

Für die sichere Operation verlangen mehrere lsh Programme einen guten Pseudozufallsgenerator. Die erste Sache Sie müssen ausführen, soll eine SEED-Datei für den Generator schaffen. Eine persönliche SEED-Datei zu schaffen, gespeichert als ~/.lsh/yarrow-seed-file, durchführen

lsh-make-seed

Das Bilden einer SEED-Datei für den lshd Einsatz, durchführen

lsh-make-seed - Server

als Wurzel. Die SEED-Datei wird als /var/spool/lsh/yarrow-seed-file gespeichert.


Knoten: lsh-Grundlagen, Weiter: , Zurück: lsh-make-seed: Erste Schritte

lsh-Grundlagen

lsh ist das Programm für das Anschluss zu einer Remote-Maschine. Einige Beispiele damit sind:

lsh sara.lysator.liu.se

Anschluss zu sara.lysator.liu.se und fängt eine interaktive Shell an. In diesem Beispiel, und in den üblichen Beispiele in dieser Abteilung, wird lsh um Ihr Kennwort bitten, wenn Sie Benutzerbeglaubigung des öffentlichen Schlüssels nicht aufstellen ließen.

Für erste Mal versuchen Sie sich zu einer neuen Maschine anzuschließen, dann lsh beklagt sich normalerweise über einen “unbekannten Gastgeber-Schlüssel”. Das geschieht, weil es keinen Grund dafür gibt, zu glauben dass die richtige uns Maschine geantwortet hat, und nicht eine Maschine kontrollierte vom Gegner (siehe Bedrohungen). Das Standartverhalten steht für nie jemals einen Server zu akzeptieren, der nicht richtig beglaubigt wird. Eine Maschine wird authentisch betrachtet, wenn sie dem Protokoll folgt und besitzt einen Acl-Zugang für sein Publikum hostkey, verzeichnet in ~/.lsh/host-acls hat.

Um lsh weniger paranoid zu machen, einsetzen

lsh --sloppy-host-authentication sara.lysator.liu.se

Dann wird lsh einen Fingerabdruck des Host-Schlüssels der Remote-Maschine aufzeigen, und Sie darüber fragen, ob richtig ist. Wenn dem so ist, die Maschine wird authentisch betrachtet, und ein entsprechender Acl-Zugang wird an der Datei ~/.lsh/captured_keys angehangen. Sie können Acl-Einträge kopieren, die Sie zu ~/.lsh/host-acls nachgeprüft haben.

Sogar können Sie dabei einsetzen

lsh --sloppy-host-authentication --capture-to ~/.lsh/host-acls

lassen lsh sich mehr wie das traditionelle ssh Programm benehmen.

lsh -l omar sara.lysator.liu.se

Verbindet sich wie der obengenannter, aber versucht sich darin als der Benutzer “omar” zu loggen.

lsh sara.lysator.liu.se tar cf - some/dir | (cd /target/dir && tar -xf -)

Kopiert ein Verzeichnis aus der Remote-Maschine, durch die Durchführung eines Remote und eines lokalen Tar-Prozesses und sie zusammen weiterreichen.

CVS_RSH=lsh cvs -d cvs.lysator.liu.se:/cvsroot/lsh co lsh

Überprüft den lsh Quellcode vom CVS Behältnis.

lsh-G-B sara.lysator.liu.se

Öffnet einen ssh Anschluss, schafft eine “Gateway-Socket” und Gabeln in den Hintergrund.

lshg sara.lysator.liu.se

schafft eine neue Sitzung mit einer vorhandenen Gateway-Socket ohne die Gemeinkosten für einen neuen Schlüsselaustausch und ohne um irgendwelche Kennwörter zu bitten.


Knoten: tcpip Weiterleitung, Weiter: , Zurück: lsh-Grundlagen, Anfang: Erste Schritte

Portweiterleitung

Eine nützliche Eigenschaft lsh und anderen ssh ähnlicher Programmen ist die Fähigkeit, beliebiger Anschluss innerhalb der verschlüsselten Verbindung nachzusenden. Es gibt zwei Variante: “lokale” und “entfernte” Weiterleitung.

Ein Beispiel der lokalen Weiterleitung ist

lsh -L 4000:kom.lysator.liu.se:4894 sara.lysator.liu.se

Das lässt lsh zum Port 4000 unter der lokalen Maschine abhören. Wenn jemand anschließt, bittet lsh den Server um eine Verbindung von der entfernten Maschine (d. h. sara) zu öffnen, um 4894 auf einer anderen Maschine (d. h. kom) nach Backbord zu halten. Die zwei Verbindungen sind mit einem verschlüsselten Kanal zusammengeleitet.

Es gibt wenige Dinge dafür hier bemerkt werden sollten:

  • Standardmäßig, lsh hört nur zur Echoprüfungsschnittstelle ab, so können nur die Kunden unter derselben Maschine den Tunnel einsetzen. Um zu allen Schnittstellen abzuhören, verwenden Sie das -g Flag.
  • Eine Verbindung durch den Tunnel besteht aus drei Teilen:
  1. Von einer Kunden-Socket bis den lokalen Port (4000 in diesem Beispiel), dazu lsh abhört.
  2. Der Tunnel selbst, von der lokalen Maschine bis den Tunnel-Endpunkt, darin wird sara in diesem Beispiel dargestellt.
  3. Die Verbindung vom Tunnel-Endpunkt bis das äußerste Ziel, in diesem Beispiel von sara bis kom.

Nur der mittlere Teil wird durch lsh geschützt: alle Daten fließen durch den Tunnel, werden in erster Linie mittels des Teils im clear gesandt. So die Beförderung bietet nicht viel Schutz damit an, es sei denn, wenn das Tunnel-Endpunkt und Endzielmaschine zusammenstehen. Sie sollten gewöhnlich entweder dieselbe Maschine oder zwei Maschinen sein, die durch ein lokales vertrautes Netz verbunden sind.

  • Portweiterleitung ist sehr nützlich für das Durchfließen der Firewall. Natürlich brauchen Sie keine lsh-artige Beförderung einzusetzen, um gerade herauszukommen, es gibt dafür andere Tools wie HTTPTunnel. Aber lsh hilft Ihnen durch die Brandmauer auf eine sichere Weise herauszukommen.
  • Portweiterleitung wird zusätzlich zu irgendetwas anderem was lsh ausgeführt. Im oben dargestellten Beispiel wird ein Tunnel aufgestellt, aber lsh wird auch eine interaktive Schale für Sie anfangen.  Ganz als die-L Auswahl nicht da gewesen ist.  Ob das nicht ist, was Sie wollen, dann die -N oder die-B Auswahl sind gepasst für Sie (siehe lsh Hervorrufen)

Remote-Weiterleitung ist ähnlich, aber bittet die Remote Maschine zu einem Hafen abzuhören. Ein Beispiel der Remote-Weiterleitung ist

lsh -g -R 8080:localhost:80 sara.lysator.liu.se

Das bittet die Remote Maschine zu dem Hafen 8080 abzuhören (bemerken Sie, wahrscheinlich Sie nicht bevollmächtigt werden, zum Hafen 80 abzuhören). Wann auch immer jemand in Verbindung bringt, ist die Verbindung untertunnelt zu Ihrer lokalen Maschine, und gerichtet 80 auf derselben Maschine zu übertragen. Bemerken Sie den –g Einsatz; die Wirkung ist jedem aus der Welt zu erlauben den Tunnel zu verwenden, um zu Ihrem lokalen Webserver einzuschalten.

Dieselben übergenommenen Hinweise zur weitergeleiteten lokalen Port, werden auch zur weitergeleiteten Remote-Port.

Schließlich können Sie jede Zahl von -L und -R Optionen unter dieselben Kommandozeile verwenden.


Knoten: lshd-Grundlagen, Weiter: , Zurück: tcpip Weiterleitung: Erste Schritte

lshd-Grundlagen

Es gibt keine globalen Konfigurationsdateien für lshd; die ganze Konfiguration wird mit Befehlslinienoptionen ausgeführt (siehe lshd Hervorrufen).

Für das lshd Durchführen müssen Sie zuerst einen Hostkey schaffen, der gewöhnlich in /etc/lsh_host_key gespeichert ist. Dafür ausführen

lsh-keygen --server | lsh-writekey --server

Das wird auch eine Datei /etc/lsh_host_key.pub schaffen, enthaltend den entsprechenden öffentlichen Schlüssel.

Eine typische Befehlslinie für lshd Start in der Dämon-Weise ist einfach

lshd --daemonic

Sie können init Skript für lshd geschneidert für Debian und RedHat GNU/Linux Systeme von im contrib Verzeichnis finden.

Es ist auch möglich zu lassen init um lshd anfangen, durch das Hinzufügen davon in/etc/inittab.


Knoten: öffentlicher Schlüssel, Weiter: , Zurück: lshd-Grundlagen: Erste Schritte

Public-Key Benutzerauthentisierung

Public-Key Benutzerauthentisierung ist eine Weise um sich die Anmeldung zu authentifizieren, ohne irgendwelche Kennwörter tippen zu müssen. Es gibt zwei Schritte: Das Schaffen eines Schlüsselpaares und die Authentisierung des öffentlichen Schlüssels unter den Systemen, worin Sie loggen wollen.

Beim keypair Bilden, durchführen

lsh-keygen | lsh-writekey

Das kann Zeit in Anspruch nehmen, aber letztlich schafft es zwei Dateien ~/.lsh/identity und ~/.lsh/identity.pub.

Im Falle wollen Sie den Schlüssel zur Anmeldung zu einer anderen Maschine einsetzen, z.B. sara, können Sie das ausführen, zuerst durch das erste Kopieren des Schlüssels,

lsh sara.lysator.liu.se '>my-key.pub' < ~/.lsh/identity.pub

dann es durch die Durchführung unter sara autorisiert wird,

lsh-authorize my-key.pub

Standardmäßig, lsh-writekey verschlüsselt der privaten Schlüssel mit einer Kennwortphrase. Einigermaßen schützt das Sie, wenn ein Aushilfsband in die falschen Hände kommt, oder Sie NFS verwenden, um auf die Schlüsseldatei in Ihrem Hausverzeichnis zuzugreifen. Ob Sie einen unverschlüsselten Schlüssel wollen, dann passieren das Flag -c none zu lsh-writekey.

Nach Sicherheitsgründe sollten Sie den privaten Schlüssel ~/.lsh/identity geheim halten. Natürlich das ist  besonders wichtig ob der Schlüssel unverschlüsselt ist; in diesem Fall wird jeder, der die Datei lesen kann, zur Anmeldung in Ihrem Namen zu jeder Maschine fähig sein, wo der entsprechende öffentliche Schlüssel als ein autorisierter Schlüssel eingeschrieben wird.

Natürlich sollten Sie sich auch überzeugen, nicht um irgendwelche Schlüssel zu autorisieren, sondern nur Ihr eigenes. Zum Beispiel ist es unpassend, einen unsicheren Mechanismus wie unbeglaubigte E-Mail, ftp oder http einzusetzen, um Ihren öffentlichen Schlüssel bei den Maschinen zu übertragen, wo Sie es autorisieren wollen.

Im Falle sind Sie unter mehreren Systemen angemeldet, schaffen Sie gewöhnlich ein Schlüsselpaar auf jedem der Systeme, und auf jedem System autorisieren Sie einige oder alle Ihre anderen öffentlichen Schlüssel für die Anmeldung.


Knoten: srp, Weiter: , Zurück: öffentlicher Schlüssel: Erste Schritte

SRP Authentisierung

Das Sichere Remote Kennwort-Protokoll ist ein ziemlich neues Protokoll für gegenseitige Authentisierung basiert auf einem Kennwort. Um es zu verwenden, müssen Sie zuerst ein geheimes Kennwort wählen. Dann schaffen Sie ein Prüfer-Kennwort, der aus dem Kennwort abgeleitet wird. Der Prüfer wird auf der Zielmaschine gespeichert (d. h. die Maschine, bei der Sie einzuloggen wollen).

Für das Bilden eines Prüfers führen Sie das srp-genProgramm aus, und tippen Ihr neues Kennwort. Sie müssen es entweder auf der Zielmaschine ausführen, umadressierend die Ausgabe zu ~/.lsh/srp-verifier, oder können Sie es zu einer anderen Maschine erzeugen und es zum Ziel kopieren.

Der Hauptvorteil SRP einzusetzen besteht darin, dass Sie das Kennwort verwenden, um nicht nur den Zugang zur Remote Maschine zu bekommen, aber auch um die Remote Maschine zu beglaubigen. D. h. Sie können es verwenden, um sicher in Verbindung zu stehen, ohne jede Hostkeys oder Fingerabdrücke im Voraus wissen zu müssen!

Zum Beispiel konnten Sie der SRP Einsatz verbinden, um den Hostkey Fingerabdruck für die Remote Maschine als eine Art Urladeverfahren herbeizuholen, und dann die traditionelle Authentifizierungsmethoden für weitere Verbindungen einzusetzen.

Der Prüfer muss heimlich behalten werden, dafür zu funktionieren. Im Falle der Gegner fangt Ihren Prüfer ein, kann er einige Angriffe einlegen:

  • Er kann einen Wörterbuchangriff auf Ihrem Kennwort einlegen, d. h. eine große Liste des wahrscheinlichen Kennwortes erzeugen und ob irgendeiner von ihnen an Ihrer anpasst.
  • Er kann den Server nachahmen. Das bedeutet, ob Sie versuchen, zur Remote Maschine mit SRP in Verbindung zu bringen, und den Angreifer kann Ihre Verbindung abwehren (z.B. durch das Angreifen der Namenentschlossenheit oder des Routenplanungssystems), kann er erfolgreich vorgeben für einen echten Server.

Ob Sie SRP einsetzen, um den Hostkey oder Fingerabdruck für die Remote Maschine zu bekommen, wie oben dargelegt, der Imitationsangriff zerstört die Sicherheit, Sie konnten genauso gut zum Hostkey verbinden, dargestellt durch den Remote Server, ohne es überhaupt nachzuprüfen.

Ob Sie SRP exklusiv verwenden, scheint die Situation etwas verschieden. Aus meiner Sicht, ob ein Angreifer Ihres Prüfer weiß, dann kann keinen Man-In-The-Middle Angriff einlegen: In der Kommunikation mit Ihnen, kann er die Rolle des Servers spielen, aber um Ihre Rolle zu spielen in der Kommunikation mit dem echten Server, dann braucht er Ihr Kennwort ebenso wissen.

SRP Support ist standardmäßig arbeitsunfähig, aber kann durch --srp-keyexchange Option zu lshd und lsh ermöglicht werden (natürlich, es wird nicht ermöglicht worden, wenn an beiden Seiten nicht eingesetzt wird). Zur Zeit dieser Abfassung ist SRP zu neu um von konservativen Kryptographen vertraut zu werden (und merken Sie sich Konservatismus ist ein Vorteil, wenn es zur Sicherheit kommt).

Und selbst ob SRP an sich sicher ist, die Weise wie lsh implementiert das darin ssh Protokoll hat nicht viel gleichrangige Rezension gehabt. Das Endergebnis dieser Verzichterklärung ist, dass der SRP-Support in lsh experimentell betrachtet werden sollte.

Soviel ich weiß über den SRP Einsatz als ein Host-Authentifizierungsmechanismus wird durch keine andere ssh Durchführung unterstützt. Das Protokoll lsh Einsatz wird in doc/srp-spec.txt beschrieben. Durchführungen, die SRP nur als ein Authentifizierungsmechanismus anwenden, sind mit lsh nicht vereinbar.


Knoten: sexp, Weiter: , Zurück: srp: Erste Schritte

Überprüfen von Schlüsseln und anderen sexp Dateien

Die Schlüssel und die meisten anderen Objekten lsh müssen auf der Platte gespeichert werden, aufgezeichneten als so genannte S-expressions oder gekürzt sexps. S-expressions haben ihrer Wurzeln in der Lisp-Welt und eine Variante von ihnen im Verwendeung in Simple Public Key Infrastructure (SPKI). Zurzeit wird der Support von lsh für SPKI ganz beschränkt, aber es verwendet die Formate von SPKI für Schlüssel und Access Control Lists (ACL:s).

Es gibt mehrere Varianten nach der sexp Syntax:

  • Die kanonische Syntax befindet sich irgendwo zwischen einem Text und einem binären Format, und ist für Programme sehr leicht zu lesen und zu schreiben.
  • Die Transportsyntax ist passend für die Einbettung sexps in Textdateien. Es ist im Wesentlichen die kanonische Darstellung, der verschlüsselte Einsatz base64.
  • Die fortgeschrittene Syntax beabsichtigt für die Menschen um zu lesen und zu schreiben, und weisen eine Ähnlichkeit mit Lisp-Ausdrücken auf.

Zu sehen was wirklich Ihrer ~/.lsh/identity.pub Datei enthält, versuchen

sexp-conv < ~/.lsh/identity.pub

Das sexp-conv Programm kann auch für das Errechnen Fingerabdrücke aufgewendet werden. Der Schlüssel-Fingerabdruck (oder jeder sexp, was das betrifft) ist einfach das Hash seiner kanonischen Darstellung. Zum Beispiel,

sexp-conv --hash </etc/lsh_host_key.pub

Dieser Methode nach Fingerabdrücken unterscheidet sich von der ssh Fingerabdruck-Konvertierung, basierte auf einem Hashschlüssel im ssh-Leitungsformat. Bei der Erzeugung ssh Standardfingerabdrücke verwenden Sie lsh-export-key –fingerprint.


Knoten: Schlüsselkonvertierung, Zurück: sexp: Erste Schritte

Schlüsselkonvertierung von ssh2 und OpenSSH

Ob Sie bereits ssh2 oder OpenSSH benutzen, und ein oder persönlicherer Schlüsselpaare geschaffen haben, müssen Sie die öffentlichen Schlüssel zum lsh Format konvertieren, bevor ihrer Autorisieren. Setzen das gelieferte Skript ssh-conv,

ssh-conv <openssh-key.pub >new-key.pub

Auf den umgewandelten Schlüsseln, können Sie das übliche lsh-authorize verwenden. ssh-conv unterstützt sowohl DSA als auch RSA Schlüssel.

lsh-export-key - openssh &lt;.lsh/identity.pub&gt; sshkey

Die Schlüsselkonvertierung ist auch möglich andere Weise, durch den Einsatz des lsh-export-key Programms. Es liest einen öffentlichen Schlüssel im SPKI-Format, aufgewendet durch lsh auf stdin, und schreibt den Schlüssel im Ssh2/OpenSSH-Format unter stdout.

Ob Sie Ihren lsh Schlüssel verwenden wollen, in einem anderen Systemlaufen und OpenSSH Server einzuloggen, können Sie die folgende tun:

lsh-export-key –openssh < .lsh/identity.pub >sshkey

Und auf anderen Maschine, nachdem die sshkey Datei kopiert gehabt haben, fügen es gerade zum Ende Ihrer authorized_keys Datei hinzu:

cat sshkey >> ~/.ssh/authorized_keys

lsh-export-key kann auch verwendet werden, um den Fingerabdruck von Schlüsseln (gerade wie ssh-keygen) zu überprüfen.

lsh-export-key --fingerprint < /etc/lsh_host_key.pub

zeigen MD5 und Bubble babble -Fingerabdruck des öffentlichen Schlüssels Server.

Zurzeit gibt es keine Tools dafür die privaten Schlüssel umzuwandeln.


Knoten: lsh Hervorrufen, Weiter: lshg Hervorrufen, Zurück: Erste Schritte, Anfang: Spitze

lsh Hervorrufen

Sie verwenden lsh bei der Anmeldung zu einer Remote Maschine. Basic Verwendung ist

lsh [-p port number] sara.lysator.liu.se

das versucht sich zu verbinden, einzuloggen, und eine interaktive Shell auf der Remote Maschine anzufangen. Standard Portnummer verzeichnet was auch immer Ihres Systems /etc/services für ssh. Gewöhnlich das ist Port 22.

Es gibt zahlreiche Optionen zum Konfigurieren lsh, wo und wie man sich in Verbindung zu bringen, wie soll man sich anmelden, und was nämlich wollen Sie in Remote-Host tun, worin Sie nachdem richtig eingeloggt wurden. Viele Optionen haben sowohl lange als auch kurze Formen. Dieses Handbuch verzeichnet alle Varianten nicht; für eine volle Auflistung von unterstützten Optionen, verwenden Sie lsh --help.

Hinweis, dafür viele der Optionen zu lsh ist wichtig die Einrichtung der Optionen auf die Befehlslinie.


Knoten: Algorithmus-Optionen, Weiter: , Zurück: lsh Hervorrufen, Anfang: lsh Hervorrufen

Algorithmus-Optionen

Jedes Paket kann gezippt, authentifiziert und verschlüsselt werden, bevor ein Paket in dieser Ordnung gesandt wird. Beim Erhalten des Pakets wird es zuerst entschlüsselt, nächstes überprüft, dass es richtig beglaubigt wird, und schließlich es dekomprimiert wird. Die dafür aufgewendeten Algorithmen werden mit dem Gleichen am anderen Ende der Verbindung verhandelt, als ein Teil der anfänglichen Handshake und Schlüsselumwechslung.

Jede Gruppe stellt eine Liste von unterstützten Algorithmen zur Verfügung und den ersten verzeichnet Algorithmus von dem Kunden wird ausgewühlt, auch gefunden unter der Server-Liste. Hinweis, das andeutet, die Ordnung darin der Algorithmen werden auf der Servers Liste verzeichnet, ist nicht wichtig: in Falle werden mehrere Algorithmen sowohl auf dem Server als auch auf die Kunden-Listen dargestellten, dann das ist die Kunden-Ordnung, die bestimmt welcher Algorithmus ausgewählt wird.

Algorithmen verschiedener Typen werden unabhängig verhandelt, z.B. Datenkompression und Anzeigenauthentisierung. Außerdem die eingesetzten Algorithmen für die Übertragung vom Clients zum Server sind  unabhängig der eingesetzten Algorithmen für die Übertragung vom Server bis zu den Clients. Deshalb gibt es keine weniger als sechs verschiedenen Listen, die an jedem Ende konfiguriert werden konnten.

Die Befehlslinienoptionen für lsh und lshd lassen Sie nicht die beliebige Listen angeben. Zum Beispiel können Sie nicht verschiedene Einstellungen angeben, um zu senden und zu erhalten.

Da gibt es eine Reihe standardisierter Algorithmus-Einstellungen. Im Falle verwenden Sie eine Befehlslinienoption verwenden, z.B. wollen Sie Algorithmus für einen der Algorithmen verwenden, dann wird die Standardliste durch eine Liste ersetzt, enthaltend den einzelnen Element-Algorithmus. Zum Beispiel, verwenden Sie -c arcfour, z.B. wollen Sie arcfour als Verschlüsselungsalgorithmus verwenden, dann wird das Netzwerk entweder damit enden, verwendend arcfour, oder Algorithmus-Verhandlung wird scheitern, weil der Gleichgestellter arcfour nicht unterstützt.

Option Algorithmustyp Default
-z Datenkompression none, zlib Die Standardeinstellungsliste unterstützt zlib Kompression, aber verwendet diese nicht.
-c Verschlüsselung aes256-cbs, 3dec-cbc, blowfish-cbc, arcfour Der Standard-Verschlüsselungsalgorithmus ist aes256. Die Standardliste schließt nur die ziemlich alten und wohl absichtlichen Algorithmen ein. Es gibt einen speziellen Algorithmus-Namen zur Ermöglichung aller unterstützten Verschlüsselungsalgorithmen (außer niemandem).
-m Anzeigenauthentisierung hmac-sha1, hmac-md5 Beide unterstützten Anzeigenauthentisierungsalgorithmen stammen aus der HMAC Familie.

Da ein spezieller Fall ist, -z ohne ein Argument modifiziert die Kompressionsalgorithmus-Liste zu zlib, none bedeutet Sie wollen zlib verwenden, wenn ein andere Ende unterstützt das. Das unterscheidet sich von -zzlib, veranlasst die Verhandlung scheitern, ob das andere Ende zlib nicht unterstützt. Eine ziemlich nicht offensichtliche -z Folge hat Auseinandersetzung, d.h., ob Sie ein Argument besorgen, dann muss es direkt nach dem Option-Buchstabe verfolgen, ohne Räume.


Knoten: Hostauth Optionen, Weiter: , Zurück: Algorithmus-Optionen, Anfang: lsh Hervorrufen

Host-Authentifizierungsoptionen

Wie oben beschrieben (siehe Bedrohungen), die richtige Authentifizierung des Remote-Host ist entscheidend für das Verbindung Schützen gegen den Man-In-The-Middle Angriffen. Standardmäßig prüft lsh den gestützten Host-Schlüssel des Servers gegen Access Control Lists in ~/.lsh/host-acls nach. Im Falle kann nicht Remote-Host beglaubigt werden, ist die Verbindung fallen gelassen.

Optionen, die dieses Verhalten verändern, sind

--host-db
Gibt die Aufstellung der ACL Datei an.

--sloppy-host-authentication
Lassen lsh Verbindung nicht fallen, ob der Server-Schlüssel nicht beglaubigt werden kann. Stattdessen zeigt es den Fingerabdruck des Schlüssels an und fragt nach dem Vertrauen. Der erhaltene Schlüssel wird auch an der ~/.lsh/captured_keys Datei angehangen. Ob das in stillen Modus ausgeführt wird, dann lsh -q --sloppy-host-authenticationlsh schließt sich jedem Host an, ohne Fragen dabei.

--strict-host-authentication
Abschalten die nachlässige Operation (das ist die Standard-Verhaltensweise).

--capture-to
Verwenden eine andere Datei statt ~/.lsh/captured_keys. Zum Beispiel,
lsh --sloppy-host-authentication --capture-to ~/.lsh/host-acls
lässt lsh benehmen sich mehr als ein ssh Programm.

--srp-keyexchange
Verwenden SRP für keyexchange und gegenseitige Authentisierung.


Knoten: Userauth Optionen, Weiter: , Zurück: Hostauth Optionenlsh Hervorrufen

Benutzerauthentisierungsoptionen

- l
Setzen einen Namen bei der Anmeldung ein. Standardmäßig wird der Wert der LOGNAME Umgebungsvariable verwendet.

- i
Versuchen die Schlüssel von dieser Datei beim Einloggen. Standardmäßig verwendet lsh ~/.lsh/identity, im Falle das besteht. Es sollte möglich sein, mehrere -i Optionen als eine Datei einzusetzen, aber zurzeit wird das nicht durchgeführt.

--no-publickey
Versuchen Sie nicht einzuloggen mittels Public-Key Authentisierung.


Knoten: Handlungsoptionen, Weiter: , Zurück: Userauth Optionenlsh Hervorrufen

Handlungsoptionen

lsh kann viele Dinge erldigen, sobald Sie darin geloggt werden. Es gibt zwei Typen von Optionen für die Kontrolle: Handlungen und Handlungsmodifikatoren. Für kurze Optionen, die Handlungen verwenden die Großbuchstaben, und Modifikatoren Kleinbuchstaben.

Für jeden Modifikator --foo gibt es auch eine verneinte Form --no-foo. Optionen können auch verneint werden durch das Voranstellen der speziellen Option -n. Das ist hauptsächlich nützlich zum Negieren kurzer Optionen. Zum Beispiel verwenden -nt, um lsh nicht für ein entferntes Pseudoterminal zu bitten. Jeder Modifikator und sein Negieren können mehrere Male nach der Befehlslinie verwendet werden. Für jede Handlung gilt der letzte vorherige Modifikator jedes eingesetzten Paares.

Erstens, die Handlungen:

- L
Anforderung einer lokalen Portweiterleitung. Diese Option nimmt ein obligatorisches Argument der Form listen-port:target-host:target-port. Diese Option befiehlt lsh sich zum listen-port auf der lokalen Maschine abzuhören. Ob jemand schließt sich an diesem Port an, dann lsh bittet den Remote-Server um eine Verbindung zum Zielport unter dem Zielhost zu öffnen, und wenn das Erfolg hat, dann werden diese zwei Verbindungen durch die lsh Verbindung zusammengetroffen. Beide Port-Zahlen sollten in der Dezimalzahl angegeben werden.

- R
Anforderung eines Remote-Port. Man braucht ein erforderliches Argument, gerade wie-L. Aber in diesem Fall bittet lsh den Remote-Server zum listen-port abzuhören. Wenn jemand sich zum Remote-Port verbindet, dann wird der Server den lokalen lsh darüber informieren. Folglich verbindet sich lokale lsh mit Zielport unter dem Zielhost.

-D
SOCKEN-style Weiterleitung. Das braucht ein optionales Argument zur Anwendung der Port-Zahl für die SOCKE-Proxy (Default 1080). Socke-Version 4 oder Version 5 können durch andere Anwendung ausgeführt werden, um die ausgehenden Verbindungen zu öffnen, befördert mittels der SSH Verbindung. Hinweis: zu der kurzen Optionen muss sich die Port-Zahl in demselben Argument befinden, ob angegeben ist (d. h.-D 1080 richtig ist, -D 1080 ist nicht).

- E
Diese Option braucht ein erforderliches Argument, die für eine Befehlslinie steht, ausgeführt auf Remote-Maschine.

- S
Anfang einer interaktiven Shell auf Remote-Maschine.

- G
Bei der lokalen Maschine öffnen ein Gateway. Ein Gateway ist ein lokale Socket, gefunden unter /tmp und kann bei der Kontrolle und Einsetzen der ssh Verbindung verwendet werden. Es wird mit der gewöhnlichen Dateierlaubnis geschützt.

- N
Das ist eine Nulloperation Handlung. Das blockiert die Standardhandlung, eine interaktive Shell auf der Remote Maschine. Es ist nützlich beim Setup einiger nachgeschickte Tunnels oder eines Gateway und nichts mehr dabei.

- B
Nach dem Schlüsselaustausch und der Benutzerbeglaubigung bringen die Clients in den Hintergrund. setzt –N voraus

--subsystem
Gibt ein Subsystem an, um dazu in Verbindung zu bringen, einschließlich --no-pty.

Einsatzbeispiel: --subsystem=sftp

Im Falle gibt es Nachargumente gemäß dem Namen des Remote Systems, dann entspricht zur -E Option, mit einem aufgebauten Kommandostring durch das Verketten aller restlichen Argumente, getrennten  durch die Räume. Das deutet an, dass die Argumente gewöhnlich zuerst durch die lokale Shell ausgebreitet werden, und dann das resultierende Kommandostring wieder durch das Remote-System interpretiert wird.

-N
Im Falle gibt es keine Nachargumente gemäß dem Namen des Remote-Systems, und auch die -N Option nicht angegeben wird, dann soll die Standardhandlung eine Shell unter der Remote-Maschine anfangen. Das entspricht der -S Option.

Es gibt einige unterstützte Modifikatoren:

- t
Anforderung eines Pseudoterminals. lsh verlangt das Remote-System von einem Pseudoterminal zuzuteilen. Wenn es erfolgreich ist, wird das lokale Terminal auf die rohe Weise gesetzt. Das Standardverhalten fordert einen pty an, wenn und nur wenn der lokale lsh-Prozess ein kontrollierendes Terminal hat. Dieser Modifikator gilt für die Handlungen, die Remote-Prozesse bilden, d. h. -E und -S, sowie die Standardhandlungen.

Zurzeit wird diese Option ignoriert, wenn es kein lokales Terminal gibt.

- x
Anforderung X Beförderung. Gilt für -E und -S und die Standardhandlungen.

- stdin
Senden stdin eines Remote-Prozesses von einer gegebenen, lokalen Datei nach Standardmäßig verwendet lsh stdin für den ersten Prozess, und /dev/null für den Rest. Diese Auswahl gilt für die -E und -S Optionen sowie für die Standardhandlungen. Die Option gilt nur für einen Prozess; sobald es verwendet wird, wird es auf die Standardwerte zurückgesetzt.

- stdout
Senden stdout eines Remote-Prozesses zu einer gegebenen, lokalen Datei nach. Standardmäßig verwendet lsh stdout. Wie – stdin, ist zurückgesetzt worden, nachdem es verwendet wurde.

- stderr
Senden stdout eines Remote-Prozesses zu einer gegebenen, lokalen Datei nach. Analog zur --stdout Option.

--detach
Trennen vom Terminal am Ende der Session ab.

--write-pid
Angewendet auf -E. Schreiben PID des Hintergrundprozess zu stdout.

- e
Abschalten des Maskierungszeichens (verwenden “none”). Standard ist das “~”, wenn tty zugeteilt wird und “none” sonst.

- g
Remote-Peer, aka als globaler Weiterleitung.  Diese Option gilt für die Weiterleitungshandlungen, d. h. -L,-R und-D.  Standardmäßig werden nur Verbindungen zur Echoprüfungsschnittstelle, ip 127.0.0.1, sind weitergeleitet.  D.h., dass nur die Prozesse auf derselben Maschine der weitergeleitete Tunnel direkt verwenden kann.  Ob -g Modifikator ist in Kraft, dann wird die Weiterleitungsgruppe auf allen Netzschnittstellen abhören.


Knoten: Wortfülle Optionen, Zurück: Handlungsoptionen, Anfang: lsh Hervorrufen

Wortfülle Optionen

Diese Optionen bestimmen was für Nachrichten schreibt lsh über seinen stderr.

- q
Ruhemodus. Deaktiviert alle Nachrichten und Fragen, außer dem Kennwort Promp und gefährliche innere Fehler.

- v
Wortfülle Modus. Macht lsh ein bisschen wortreicher. Die Absicht ist Auskunft zu bringen, nützlich für die normale Fehlersuche, und auch macht Sinn zu denjenigen vertrauten mit lsh innere Fehler.

--trace
Ablaufverfolgung. Druckt einige innere Information bei der Ablaufverfolgung der lsh Datenflusssteuerung.

--debug.
Programmfehlersuche-Modus. Dumps vieler Information, einschließlich Dumps aller gesandten und erhaltenen Pakete. Es versucht hoch ausgebenden Daten zu vermeiden, wie private Schlüssel und Inhalt von SSH_MSG_USERAUTH_REQUEST Nachrichten, aber verwenden Sie weiter noch sorgfältig.

--log-file
Diese Option sendet alle Nachrichten an eine Datei nach.  Braucht ein verbindliches Argument:  Der Name dieser Datei.

Hinweis: alle diese Optionen orthogonal sind. Wenn Sie --trace einsetzen, dann wollen Sie gewöhnlich -v ebenso hinzufügen; --trace tut das nicht automatisch.


Knoten: lshg Hervorrufen, Weiter: , Zurück: lsh Hervorrufen, Anfang: Spitze

lshg Hervorrufen

Bei der Anmeldung zu einer Remote-Machine verwenden Sie lshg, bei deren haben Sie vorher lsh verwendet, für das Setup eines Gateway (siehe Handlungsoptionen). Seinen Einsatz ähnelt sich mit diesem von lsh (siehe lsh Hervorrufen), mit der Ausnahme, dass einige Optionen nicht verfügbar sind.

Grundeinsatz ist

lshg [-l username] Host

versucht sich an dem Gateway zu verbinden, das vorher durch das Durchführen lsh eingerichtet worden sein sollte [-l username] -G host)

Der Benutzername und Host werden verwendet bei der Lokalisierung des Gateway. Der Standardwert für den Benutzernamen wird ebenso bestimmt bezüglich lsh (siehe lsh Hervorrufen).

Da lshg fast dieselben Optionen wie lsh verwendet (siehe lsh Hervorrufen ), nur die nicht verfügbaren Optionen oder mit einer verschiedenen Bedeutung werden in lshg verzeichnet.

Die Algorithmus-Optionen (siehe Algorithmus-Optionen), sowie die meisten userauth (siehe Userauth Optionen), und hostauth (siehe Hostauth Optionen) sind in lshg nicht verfügbar, weil sie nur durch die Session Setup verwendet werden, die bereits durch lsh behandelt wird.

Auf technischer Gründe kann X11-Weiterleitung nicht durch lshg ausgeführt werden, --x11-forward Option (siehe Handlungsoptionen) ist nicht verfügbar.

Zusammenfassend läßt sich bestimmen, dass diese für die neue Optionen stehen, nicht verfügbar oder mit verschiedenen Bedeutungen:

- G
Beim Setup, -G bietet ein Gateway für lsh. Für lshg das bedeutet, im Falle wird kein verwendbares Gateway gefunden werden, dann sollte lsh mit denselben Argumenten stattdessen gestartet werden.

--send-debug
Nicht verfügbar in lsh. Sendet eine Debug-Meldung an die Remote-Maschine.

--send-ignore
Nicht verfügbar in lsh. Sendet eine Ignoriere Meldung an die Remote-Maschine.

- x
(--x11-forward) Nicht verfügbar in lshg.

- c
(-crypto) Nicht verfügbar in lshg.

- z
(--compresion) Nicht verfügbar in lshg.

-m
(--mac) Nicht verfügbar in lshg.

--hostkey-algorithm
Nicht verfügbar in lshg.

--capture-to
Nicht verfügbar in lshg.

--strict-host-authentication
Nicht verfügbar in lshg.

--sloppy-host-authentication
Nicht verfügbar in lshg.

--host-db
Nicht verfügbar in lshg.

--publickey
Nicht verfügbar in lshg.

--no-publickey
Nicht verfügbar in lshg.

--dh-keyexchange
Nicht verfügbar in lshg.

--no-dh-keyexchange
Nicht verfügbar in lshg.

--srp-keyexchange
Nicht verfügbar in lshg.

--no-srp-keyexchange
Nicht verfügbar in lshg.

--i
--identity Nicht verfügbare in lsgh.


Knoten: lshd Hervorrufen, Weiter: , Zurück: lsgh Hervorrufen, Anfang: Spitze

lshd Hervorrufen

lshd steht für einen Server, der Verbindungen von Kunden akzeptiert – SSH-Protokoll. Gewöhnlich wird es automatisch angefangen, wobei die Booten des Systems und mit Root-Berechtigung gestartet sind. Jedoch ist es auch möglich lshd manuell anzufangen, und mit Benutzervorzügen.

Zurzeit gibt es keine Konfigurationsdateien. Stattdessen werden die Befehlslinienoptionen verwendet, Befehlen lshd zu geben. Viele Optionen haben --foo und --no-foo Varianten. Optionen angebend die Standardverhalten werden hier nicht verzeichnet.

Einige Optionen sind mit lsh geteilte. Insbesondere siehe Algorithmus-Optionen und Wortfülle-Optionen.

Bestimmte Optionen für den lshd Server sind:

- p

Port Abhören. Das verbindliche Argument ist eine dezimale Portzahl oder ein Dienstname. Standard ist “ssh“, gewöhnlich Port 22.

Es sollte auch möglich sein mehrere -p Optionen als eine günstige Weise zu verwenden, um lshd auf mehreren Port bei jeder angegeben (oder Verzug) Schnittstelle abhören zu lassen, aber das wird noch nicht durchgeführt.

Bedenken Sie, wenn Sie sowohl -p als auch --interface verwenden, die Ordnung eine Rolle spielt.

--interface

Netzschnittstelle Abhören. Standardmäßig hört lshd zu allen Schnittstellen ab. Eine Schnittstelle kann als ein DNS-Name angegeben werden, eine Literal IPv4-Adresse oder eine Literal IPv6-Adresse in eckigen Klammern. Gegebenfalls kann das von einem Doppelpunkt und einer Portzahl oder Dienstnamen gefolgt werden. Ob keine Portzahl oder Dienst angegeben worden sind, dann ein Standardwert wird von einem vorangehen -p verwendet.

Einige Beispiele: --interface=localhost, --interface=1.2.3.4:443, --interface=[aaaa::bbbb]:4711. Zu Abhören lshd bei mehreren Port und Schnittstellen zur gleichen Zeit verwenden nur mehrere --interface Optionen unter der Befehlslinie.

- h

Speicherstelle der privaten Schlüsseldatei des Servers. Standardmäßig /etc/lsh_host_key.

--daemonic

Ermöglicht daemonic Modus. lshd biegt sich in den Hintergrund ab, leitet seine stdio Dateideskriptoren zu /dev/null um, ändert sein Arbeitsverzeichnis zu /, und leitet irgendwelche diagnostischen oder die Fehler Meldungen durch syslog um.

lshd sollte im Stande sein, sich mit der Umgebung zu befassen, erbt, ob er mit init oder inetd angefangen wird, aber tatsächlich wird das noch nicht geprüft.

--pid-file

Schafft eine geschlossene pid Datei, leichter Anfang zu schreiben und Skript für lshd abzuhalten. Das verbindliche Argument stellt den Dateinamen zur Verfügung. Diese Option wird standardmäßig ermöglicht, ob auf dem daemonic Modus funktioniert, und der Standarddateiname ist /var/run/lshd.pid.

- login-auth-mode

--no-syslog

Einsatz-Deaktivierung der syslog Anlage. Haben Sinn nur zusammen mit --daemonic

--enable-core

Beim Vermeiden der durchsickernden Information, dann standardmäßig schaltet lshd Core-Dumps ab. Diese Option ändert das Verhalten, und erlaubt lshd Kern auf unbehebbarer Fehler wegzuwerfen.

--no-password

Deaktivieren “Kennwort” Benutzerauthentisierungsmechanismus.

--no-publickey

Deaktivieren “publickey” Benutzerauthentisierungsmechanismus.

--root-login

Ermöglichen Root-Anmeldung. Standardmäßig kann Root nicht bei Einsatz lshd eingeloggt zu werden.

--login-auth-mode

Diese Option ist hoch experimentell. Umgehen die lshd Benutzerauthentisierung, und erlauben den Benutzern ihre Anmeldungsschale ohne jede Authentisierung zu erzeugen. Gewöhnlich verbunden mit --login-shell, um die Anmeldungsschale auf ein Programm zu installieren, das die Kennwort-Authentisierung bearbeitet.

--kerberos-passwords

Prüfen die Kennwörter gegen die kerberos Datenbank nach. Das ist durchgeführt mit lsh-krb-checkpw Hilfsprogramm. Bedenken Sie, dass dies die Kerberos Infrastruktur in die Richtige Weise nicht verwendet. Experimentell.

--password-helper

Bei den Kennwörtern nachzuprüfen, befiehlt lshd ein Hilfsprogramm einzusetzen. Das ist eine Generalisation --kerberos-passwords, und konnte verwendet werden um Kennwörter gegen jede Kennwort-Datenbank nachzuprüfen. Für Details siehe die Quelldateien lsh-krb-checkpw.c und unix_user.c.

--login-shell

Als die Anmeldungsschale verwenden Sie für alle Benutzer das angegebene Programm, überschreibend der Login-Shell in der passwd-Datenbank.

--srp-keyexchange

Ermöglichen SRP keyexchange und Benutzerauthentisierung.

--no-pty-support

Für Pseudoterminals deaktivieren den Support.

--no-tcp-forward

Für die Tcp-Weiterleitung deaktivieren Sie den Support in beiden Richtungen.

--subsystems

Bestimmt die Liste von Subsystemen und entsprechenden Programmen.  Einsatzbeispiel:  --subsystems=sftp=/usr/sbin/sftp-server,foosystem=/usr/bin/foo


Knoten: Dateien und Umgebungsvariablen, Weiter: , Zurück: lshd Hervorrufen, Anfang: Spitze

Dateien und Umgebungsvariablen

Das Kapitel beschreibt alle Dateien und Umgebungsvariablen, eingesetzten durch lsh, lshd, und zusammenhängende Programme.

Es gibt einige Umgebungsvariablen, die das Verhalten der lsh Programme modifizieren. Dabei gibt es auch viele eingesetzte Variable durch lshd, beim Start von Benutzerprozessen.

DISPLAY
DISPLAY gibt die lokale Anzeige an, bei der Ermöglichung X-Weiterleitung. Eingesetzt durch lsh.

HOME
Das Benutzers Homeverzeichnis. Stellt fest, wonach Clients-Programme ~/.lsh Verzeichnis suchen. Beim Start eines Benutzerprogramms lshd setzt HOME ein vom Wert in der /etc/passwd Datei, abgesehen davon, ob lshd als ein gewöhnlicher Benutzerprozess abläuft. Im letzten Fall erbt der neue Prozess den lsh eigenen Wert des Hauses.

LOGNAME
Benutzer Login-Name. Verwendet als Default-Namen bei der Anmeldung zu den Remote-Systemen. Bei den Start neuen Prozessen, wird das durch lshd eingesetzt.

LSH_YARROW_SEED_FILE
Im Falle ist eingesetzt, dann weist es auf die Position der SEED-Datei für den Zufallsgenerator hin. Sowohl durch lshd als auch durch die Clients-Programme anerkannt.

LSHFLAGS
Im Falle ist eingesetzt, wird lsh irgendwelche Optionen grammatisch analysieren, unter Befehlslinie dargestellt sind.

LSHGFLAGS
Im Falle ist eingesetzt, wird lsh irgendwelche Optionen grammatisch analysieren, unter Befehlslinie dargestellt sind.

POSIXLY_CORRECT
Betrifft die Befehl-Liniensyntaxanalyse Programmen, die standardmäßig Optionen gemischten mit Argumenten akzeptieren.

SEXP_CONV
Die sexp-conv Programm-Position. Wenn nicht eingesetzt das Standard $prefix/bin/sexp-conv wird verwendet.

SSH_CLIENT
Für die eingeführte Session, kann diese Variable durch lshd eingesetzt werden. Im Falle eingesetzt wird, besteht es aus drei getrennten Teilen durch Leerzeichen, der erste Teil enthält die Adresse des verbundenen Clients. Der zweite Teil enthält den tcp Port eingesetzt auf dem verbundenen Client, und der dritte Teil enthält den tcp Port eingesetzt auf dem Server.

SSH_TTY
Für die eingeführte Session diese Variable kann durch lshd eingesetzt werden. Ob eingesetzt, dann ist der Name des zugeteilten tty.

SHELL
Benutzername Shell. Beim Anfang einen Benutzerprozess, setzt lshd SHELL auf den Wert in/etc/passwd, sofern gibt es keine Überschreibung durch die --login-shell Befehlszeile-Option.

TERM
Lokalen Terminal Typ. Im Falle fordert der Client einen pty für einen Remote-Prozess an, dann wird der TERM Wert vom Client zum Server übertragen.

TMPDIR
Bestimmt die unix Socket Anlage im Dateisystem, eingesetzt durch lshg.

TZ
Time zone – Zeitzone.  Angefangenen Prozesse durch lshd erben den Wert dieser Variable vom Server-Prozess.

Durchgeführten Dateien vom lsh Client, gespeichert im ~/lsh Verzeichnis:

captured_keys

Schlüssel für Remote-Host, gespeichert beim lsh Ausführen --sloppy-host-authentication. Oder genauer, jeder Schlüssel wird zusammen mit einem SPKI (Simple Public Key Intrastructure) ACL:s (Access Control Lists) gespeichert.

Identität
Ihre private Schlüsseldatei. Gewöhnlich geschaffen durch lsh-keygen | lsh-writekey. Gelesen durch lsh. Sollte heimlich behalten werden.

identity.pub
Der entsprechende öffentliche Schlüssel. Sie können diese Datei zu anderen Systemen kopieren, um den privaten Schlüssel zur Anmeldung zu autorisieren (siehe Schlüsselkonvertierung).

host-acls
Host-Schlüssel (oder genauer ACL:s), betrachtet als authentisch durch lsh. Die Einträge haben dasselbe Format wie in captured_keys.

yarrow-seed-file
Die SEED-Datei für den Zufallsgenerator. Sollte heimlich behalten werden.

Eingesetzten Dateien durch, einige von denen gelesen vom Benutzer Homeverzeichnisse:

/etc/lsh_host_key
Der private Host-Schlüssel des Servers.

/etc/lsh_host_key.pub
Der entsprechende öffentliche Schlüssel.

/var/spool/lsh/yarrow-seed-file
Die SEED-Datei für den lshd Zufallsgenerator.

~/.lsh/authorized_keys
Das steht für ein Verzeichnis, das eine “Datenbank” von autorisierten Schlüsseln bei der Anmeldung hält. Mittels der aktuellen Durchführung wird ein Schlüssel für die Anmeldung autorisiert, wenn und nur wenn dieses Verzeichnis eine Datei mit einem Namen enthält, das SHA1 Schlüssel-Hash vertritt. Die übliche Weise Beim Dateien Bilden, die übliche Weise ist durch das Durchlaufen des lsh-autorisieren Skript.

~/.lsh/srp-verifier
Beim Einsatz des experimentellen Supports für SRP (siehe srp), dann liest der Server einen SRP Prüfer eines Benutzers aus dieser Datei.


Knoten: Fachsprache, Weiter: , Zurück: Dateien und Umgebungsvariablens, Anfang: Spitze

Fachsprache



Knoten: Konzeptindex, Zurück: Fachsprache, Anfang: Spitze

Konzeptindex