% master: ssh.tex
% SSH v0.3
% 2022-05-10 (Rx)

\section{SSH}
%------------
SSH(Secure shell) ist ein verschlüsseltes Netzwerkprotokoll auf TCP-Port 22,
ermöglicht eine sichere authentifizierte und verschlüsselte Verbindung zwischen
zwei Rechnern über ein unsicheres Netzwerk.

\index{ssh}\index{scp}
\begin{verbatim}
scp Rechner:Pfad Rechner:Pfad   Programm zur Übertragung von Files
ssh Rechner                     auf anderen Rechner anmelden
ssh Rechner -l root     oder    auf anderen Rechner als root anmelden
ssh root@Rechner
\end{verbatim}

\subsection{Generierung eines DSA Schlüsselpaares}
\index{ssh-keygen}
\begin{verbatim}
ssh-keygen -t dsa -b 2048                generiert DSA-Schlüsselpaar mit
                                         einer Bit-Tiefe von 2048
    ~/.ssh/id_dsa   - private-key mit <ENTER> bestätigen
    passphrase      - Passwort für den private-key und der Anmeldung,
                      für passwortlose SSH-Verbindungen weg lassen oder
                      zu Beginn einer Sitzung mit ssh-add ~/.ssh/id_dsa
                      abfragen lassen
\end{verbatim}

\subsection{Public-Key auf dem Zielrechner hinzufügen}
\begin{verbatim}
cat ~/.ssh/id_dsa.pub | ssh zieluser@zielrechner \
    "mkdir -p .ssh; cat >> .ssh/authorized_keys"
                    - public-key auf dem Zielrechner hinzufügen

ssh zieluser@zielrechner "chmod 600 ~/.ssh/authorized_keys"
                    - public-key auf dem Zielrechner schützen
\end{verbatim}

\subsection{Private-Key auf dem Qellrechner}
\begin{verbatim}
~/.ssh/id_dsa       - der Private-Key gehört auf dem Qellrechner in das
                      ~/.ssh/ Verzeichnis
\end{verbatim}

\subsection{Login nur mit SSH-Keys erlauben}
\index{rcsshd}
\begin{verbatim}
/etc/ssh/sshd_config            - folgendes in die Datei sshd_config
    PubkeyAuthentication yes      eingetragen
    UsePAM no
    PasswordAuthentication no

rcsshd restart                  - SSH-Dämon neu starten
\end{verbatim}

