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.

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

Links


gilt für alle Tipps, Tricks & Spickzettel:
dies sind einfache, teils banale Notizen für meinen persönlichen Gebrauch, die hier eher zufällig auch öffentlich lesbar sind (vielleicht hilft es ja jemandem weiter). Verwendung auf eigene Gefahr :!:

Fehler-Hinweise, Dankesschreiben :-), etc. bitte an: web.1105@unixwitch.de

weitere Tools / Spickzettel

 
de/sysadmin/tools/ssh.txt · Last modified: 2009-11-28 by hella
Valid XHTML 1.0 Valid CSS German Unix User Group