Anleitung: SSH im Terminal verwenden (Linux)

PP Simon

Staff member
Dieser Thread bezieht sich auf die Anleitung SSH im Terminal verwenden (Linux). Bitte schreibt hier nur, wenn Ihr Fragen, Anmerkungen oder anderes Feedback zu dieser Dokumentation habt. Um diesen Thread übersichtlich und frei von veralteten Postings zu halten, wird er ab und zu vom Moderatoren-Team aufgeräumt.
 

Honk

Member
ssh -N -v -o UserKnownHostsFile=perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 BENUTZERNAME@SERVER

Gibt's die Möglichkeit, neben Benutzernamen auch das Passwort in die Kommandozeile zu schreiben, um eine separate Eingabe zu erübrigen?
 
Last edited:
In der Anleitung heißt es:
SSH-Keys herunterladen

Damit der SSH-Client prüfen kann, dass er sich mit einem Perfect-Privacy-Server verbunden hat, benötigen Sie zuerst die known_hosts-Datei mit den öffentlichen Schlüsseln der Server. Laden Sie diese wie folgt herunter:
wget https://www.perfect-privacy.com/downloads/perfect_privacy_known_hosts

Frage: in welchem Verzeichnis soll / muss / kann die Datei abgespeichert werden?
~/.ssh

ssh -N -oUserKnownHostsFile=perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 BENUTZERNAME@SERVER

Gibt's die Möglichkeit, neben Benutzernamen auch das Passwort in die Kommandozeile zu schreiben, um eine separate Eingabe zu erübrigen?
sshpass -p bla ssh test@test
 

Honk

Member
Erster Schritt:
Bevor Sie SSH zum ersten Mal nutzen, prüfen Sie bitte, ob das Verzeichnis ~/.ssh existiert:

ls -al ~/.ssh

Falls nicht, legen Sie dieses zuerst an:


mkdir -p ~/.ssh && chmod 700 ~/.ssh


SSH-Keys herunterladen

Damit der SSH-Client prüfen kann, dass er sich mit einem Perfect-Privacy-Server verbunden hat, benötigen Sie zuerst die known_hosts-Datei mit den öffentlichen Schlüsseln der Server. Laden Sie diese wie folgt herunter:

cd ~/.ssh ; wget https://www.perfect-privacy.com/downloads/perfect_privacy_known_hosts ; ls -al



Verschlüsselten HTTP-Proxy starten

Die wohl häufigste Verwendung findet SSH bei Perfect Privacy für verschlüsselte HTTP-Proxies. Normalerweise ist die Verbindung zu HTTP-Proxies unverschlüsselt, mit SSH lässt sich diese Verbindung jedoch verschlüsselt nutzen.
Führen Sie SSH wie folgt aus:

ssh -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 BENUTZERNAME@SERVER


Um ähnlich wie bei VPN die Zugangsdaten nicht bei jedem Verbindungsaufbau manuell eingeben zu müssen empfiehlt sich die Nutzung des Programms sshpass, welches sich mit
sudo apt install sshpass
installieren lässt. Anschließend hinterlegen Sie Ihr PP-Passwort in eine Datei namens passwordfile im Ordner ~/.ssh. Nun ändern Sie das Kommando wie folgt ab:

sshpass -f ~/.ssh/passwordfile ssh -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 BENUTZERNAME@SERVER

Nach Verbindungsaufbau können Sie mit einem
watch -n 1 lsof -i
überprüfen, ob die Verbindung zum SSH-Server steht.



Die oberen beiden Zeilen zeigen, dass die Verbindung jetzt genutzt werden kann, die unteren beiden Zeilen zeigen einen Download mit youtube-dl.

Falls der Verbindungsaufbau nicht funktioniert den Befehl einmal ohne sshpass ausführen, um den Schlüsselimport mit einem "yes" zu bestätigen.

..."Have you mooed today?"...
 
Last edited:

Honk

Member
Um das im Terminal etwas handlicher nutzen zu können, kann man z.B. folgende Zeilen in die Datei
~/.bashrc
eintragen am Beispiel der fünf Schweizer:
Code:
alias bs1="echo SSH-bs1 ; date +'%Y%m%d-%H%M%S' ; sshpass -f ~/.ssh/passwordfile ssh -4 -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@basel1.perfect-privacy.com"
alias bs2="echo SSH-bs2 ; date +'%Y%m%d-%H%M%S' ; sshpass -f ~/.ssh/passwordfile ssh -4 -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@basel2.perfect-privacy.com"
alias zh1="echo SSH-zh1 ; date +'%Y%m%d-%H%M%S' ; sshpass -f ~/.ssh/passwordfile ssh -4 -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@zurich1.perfect-privacy.com"
alias zh2de="echo SSH-zh2de ; date +'%Y%m%d-%H%M%S' ; sshpass -f ~/.ssh/passwordfile ssh -4 -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@zurich2.perfect-privacy.com"
alias zh3="echo SSH-zh3 ; date +'%Y%m%d-%H%M%S' ; sshpass -f ~/.ssh/passwordfile ssh -4 -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@zurich3.perfect-privacy.com"
echo SSH-Server: bs1 bs2 zh1 zh2de zh3
Beim ersten Start eines Servers muß/sollte man sich mit dieser Zeile (hier Zurich2) einloggen
Code:
ssh -N -v -o UserKnownHostsFile=~/.ssh/perfect_privacy_known_hosts -L 5080:127.0.0.1:3128 username@zurich2.perfect-privacy.com
um diese Abfrage (mit "yes" *) beantworten zu können:



und nach dem Verbindungsaufbau mit Strg+C wieder ausloggen.

Anschließend den Befehl
Code:
. ~/.bashrc
ausführen, um die Änderungen im Terminal zu aktivieren, und man sieht die Anzeige
SSH-Server: bs1 bs2 zh1 zh2de zh3
und in jedem neuen Terminalfenster als Gedankenstütze.
Nun loggt man sich wie in diesem Beispiel mit zh2de in den Zurich2-Server ein.

(Getestet mit Linux Mint 18.3 Mate-Terminal, muh)

* Warum man mit "yes" antworten soll, wäre noch von PP zu beantworten, genauer, wie prüfe ich den Fingerprint?
 
Last edited:
Top