!!! SSH

SSH (Secure Shell) ist ein Protokoll, mit Hife dessen man eine
verschlüsselte Verbindung zu entfernten Rechnern aufbauen kann, um
sich dort z.B. einzuloggen (ssh), Dateien zu kopieren (scp) oder
auch beliebige Netzverbindungen (z.B. eine X11-Session) zu
verschlüsseln. Es ist auch möglich, mit festen, auf dem
Clientrechner hinterlegten Authentifizierungs-Schlüsseln zu
arbeiten, so daß man sich nicht mit einem Passwort anmelden muss
(gut z.B. für Skripte).

Die gängig benutzte SSH-Implementation ist OpenSSH
(http://www.openssh.com/de). Eine sehr gute SSH-Implementation
unter Windows ist PuTTY.

Eine gute deutschsprachige Wiki-Seite zum Thema gibt es auf [LinuxWiki:OpenSSH].

Siehe auch SshMitXserver.

Mit ssh kann man auch ein VPN "für Arme" bauen. Ein kurzes Howto
steht z.B: unter
http://alinux.washcoll.edu/docs/sshtunnel/ssh.txt (siehe auch
SecureShellTunnel)

!! Einloggen per SSH-Schlüssel

Da ich dieses immer wieder benötige (und auch immer hier suche), hier eine Kurzanleitung, wie man sich per SSH-Key auf einem fremden Rechner einloggen kann. Dazu muss man zuerst einen eigenen RSA-Schlüssel erzeugen. Diesen muss man dann auf dem Rechner, auf dem man sich einloggen will, hinterlegen. Gibt man bei der Erzeugung des Schlüssels keine Passphrase ein, funktioniert das dann ganz ohne Passwort (kann also z.B. auch von Skripten - aber auch von jedem Hacker - benutzt werden).

{{{
  # Zuerst Schlüssel erzeugen
  ssh-keygen -b 2048 -t rsa
  # ... entweder umständlich, aber besser erklärend, was wirklich passiert
  ssh remoteuser@remotehost.example.net "umask 077; mkdir -p .ssh; cat >> .ssh/authorized_keys" <.ssh/id_rsa.pub
  # ... oder automatisch und elegant
  ssh-copy-id -i .ssh/id_rsa.pub remoteuser@remotehost.example.net
}}}

Übrigens kann man beim passwortlosen Einloggen per Schlüssel noch einige Restriktionen setzen und insbesondere einen fest auszuführenden Befehl angeben. Hierzu steht einiges auf der sshd-manpage sowie ein Beispiel auf der Seite zu meinem BackupServer. -- ThomasBayen