SSH Tipps und Tricks
From Lolly's Wiki
SSH über ein oder mehrere Hops
Um die SSH-Verbindung von Host_A zu Host_B machen zu können muß man sich über zwei Rechner dorthin tunneln (GW_1 und GW_2). Wenn man sich immer erst einloggt und dann weiter einloggt ist es manchmal sehr schwierig die Portforwardings mitzuschleifen, oder den Socks5-Proxy. Einfacher ist es, wenn man sich ProxyCommands für den Weg von Host_a zu Host_b definiert. Wir kommen also nur von GW_2 zu Host_b, also machen wir uns hierfür einen Eintrag in der ~/.ssh/config:
Host Host_B ProxyCommand ssh GW_2 "/bin/bash 'exec 3<>/dev/tcp/%h/22; cat <&3 & cat >&3;kill $!'"
Zu GW_2 kommen wir aber nur über GW_1, also brauchen wir hierfür auch einen Eintrag:
Host GW_2 ProxyCommand ssh GW_1 "/bin/bash -c 'exec 3<>/dev/tcp/%h/22; cat <&3 & cat >&3;kill $!'"
Jetzt gibt man auf Host_A einfach ssh Host_B ein und wird über die beiden Gateways GW_1 und GW_2 getunnelt. Portforwardings für z.B. NFS macht man jetzt einfach so:
root@Host_A# share -F nfs -o ro=@127.0.0.1/32 /tmp root@Host_A# ssh -R 22049:localhost:2049 user@Host_B user@Host_B$ su - root@Host_B# mount -oro nfs://127.0.0.1:22049/tmp /mnt