#From Laptop > ssh -f -N -T -R[highport]:localhost:22 [server username]@[server public ip] #From Server > sudo ssh -p [highport] -D localhost:22 [laptop username]@localhost ## Example From laptop, type: > ssh -f -N -T -R9022:localhost:22 pi@89.216.113.126 Then from server, type: > ssh -p 2210 [laptop username]@localhost #Explanations The -f switch feels out for connections in the background. The -N switch is 'No commands', as you don't actually need to tunnel to anywhere. The -T disables pseudo-tty allocation (???). #Longterm To set this up for permanent access, add this to the ~/.ssh/config: > host remotehostname > User remoteusername > Hostname localhost > Port 22222 'Remotehostname' can be anything, but 'remoteusername' must match. For example ``` host hostelche User hostelche Hostname localhost Port 9071 ``` # Automatic startup set file in /etc/network/if-up.d/phone-home > chmod 755 /etc/network/if-up.d/phone-home set file /etc/rc.local > chmod 755 rc.local Both files contain: ``` #!/bin/bash sleep 60 ssh -f -N -T -R2049:localhost:22 pi@89.216.113.126 ```