68 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#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
 | 
						|
 | 
						|
```
 | 
						|
 |