Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:ssh

SSH Schmierzettel

Hängende SSH-Session abbrechen

Wenn die Verbindung abgebrochen ist und die SSH-Sitzung nicht von selber abgebrochen ist, kann man die SSH-Session mit ~. beenden.

Putty-Keys in OpenSSH-Format umwandeln

OpenSSH verwendet für die SSH-Keys das openssh-Format (alles in einer Zeile), Putty das ssh2-Format (mehrere Zeilen). Putty-Keys kann mit puttygen in das openssh-kompatible Format exportieren, aber bis man dem User erklärt hat wie das funktioniert, kann man häufig schneller selber umwandeln:

ssh-keygen -i -f user-putty-key.pub > user-openssh-key.pub

Wo kann man sich ohne Passwort einloggen?

for h in server1 server2 server3; do echo -n "$h: " ; ssh -o BatchMode=yes $h hostname ; done
server1: server1
server2: Permission denied (publickey,keyboard-interactive).
server3: server3

Tunnels

Beispiel: auf dem XYWebserver läuft ein Dienst, den man erstmal testen möchte und der deshalb nur auf localhost Port 8080 lauscht. Wenn man sich das nicht nur mit lynx ansehen will und keine Accessdinge mit dem Server anstellen will oder darf, kann man sich auch mit einem SSH-Tunnel behelfen …

$HOME/.ssh/config:

host xywebserver
        localforward 8888 localhost:8080

bei ssh -v xywebserver gibt es im Output eine sehr klare Meldung, was da passiert:

...
debug1: Local connections to LOCALHOST:8888 forwarded to remote address localhost:8080
...

damit kann man dann unter http://localhost:8888 mit dem Webbrowser auf dem eigenen Rechner ansehen, was der Server eigentlich nur für sich selber unter Port 8080 auspuckt.

(natürlich auch möglich: localforward 8080 localhost:8080, habe hier nur zur Veranschaulichung absichtlich einen anderen Port verwendet)


für einmalige Aktionen geht das natürlich auch mit ein paar Optionen auf der Kommandozeile:

ssh -v -L 8888:localhost:8080 loginuser@xywebserver

unter Windows kann man plink verwenden (ist bei Putty dabei):

Prinzip:

plink.exe -ssh -l loginuser -pw password -L localhost_listener:remote-host:remote-port ssh-server

SSH-Tunnel im Tunnel im Tunnel

manchmal erreicht man das Ziel nicht direkt …

# .ssh/config
host tun0
        hostname bekannterserver
        user hella
        localforward 22220 gateway.athome.example.com:22

host home hometun tun1
        hostname localhost
        port 22220
        user hella
        localforward 22221 192.168.0.5:22
        UserKnownHostsFile /home/heb/.ssh/known_hosts_tun1

host tun2 homeserver
        hostname localhost
        port 22221
        user hella
        UserKnownHostsFile /home/heb/.ssh/known_hosts_tun2

um verbindung zum homeserver aufzunehmen, braucht man 3 Shells, 3 XTerms, Screen-Sessions oder Konsolenfenster:

Shell 1:

ssh tun0

Shell 2:

ssh tun1

Shell 3:

ssh tun2
de/sysadmin/tools/ssh.txt · Zuletzt geändert: 2012-06-11 12:32 von hella

Seiten-Werkzeuge