Automatiskt reverse ssh tunnel script

Trädvy Permalänk
Avstängd
Plats
Vxo
Registrerad
Aug 2015

Automatiskt reverse ssh tunnel script

Hej!!

Jag har en raspberry pi som skall ansluta automatiskt till min "man in the middle" server, så jag sedan kan komma åt den hemma då det är omöjligt att öppna portar etc där den står nu.

Har ändrat sshporten till 2323 om ni undrar.

jag använder följande:

ssh -R 2210:localhost:2323 minandra.server

Sedan när man kommit in, kör det via en nyckel så behöver inte ange lösenord , så måste man ange

ssh -p 2210 rpi@localhost

Om jag vill ha detta automatiserat vilket är då det bästa sättet?
Varje gång raspberryn startar skall alltså detta script köras, problemet är att jag får ange lösenordet när jag kör sista koden, antar att man kan lösa det med en nyckel också?

Någon som har nåt enkelt sätt att lösa detta på?

[Intel core i7 5960X 3.0ghz] - [ ASUS X99-DELUXE] - [ 48 GB CORSAIR DDR4 DOMINATOR]- [Asus GTX 980TI SLI] - [Corsair AX1200I] - [Kingston Hyperx Predator 240GB]

Trädvy Permalänk
Medlem
Registrerad
Apr 2002

jag gjorde ett expect-script för liknande ändamål vid något tillfälle:

#!/usr/bin/expect -f if {$argc != 7} { puts "Usage: ./sshrevtun <localhost> <localport> <user> <host> <remoteport> <password> <remotebindport>" exit 0 } proc exit_timeout {} { puts "Error: timeout" exit 1 } proc exit_unexpected {data} { set data [string trim $data] puts "Error: unexpected response: $data" exit 1 } trap { if {$thispid != 0} { wait exit 0 } } SIGCHLD log_user 0 set connectcatch "connected" set localhost [lindex $argv 0] set localport [lindex $argv 1] set user [lindex $argv 2] set host [lindex $argv 3] set remoteport [lindex $argv 4] set password [lindex $argv 5] set remotebindport [lindex $argv 6] set thispid [fork] if {$thispid != 0} { sleep 20 } else { spawn ssh -o "StrictHostKeyChecking no" -f -R $remotebindport:$localhost:$localport $user@$host -p $remoteport "echo $connectcatch && sleep 3600" expect { timeout exit_timeout eof {exit_unexpected $expect_out(buffer)} "assword:" } send $password\n expect { "assword:" {exit_unexpected $expect_out(buffer)} "ermission" {exit_unexpected $expect_out(buffer)} eof {exit_unexpected $expect_out(buffer)} timeout exit_timeout $connectcatch } puts "Success! Tunnel will stay open for 1 hour." disconnect }

h170i-plus i5 6600 2x8gb ddr3l 850 pro 256gb
Don't argue with an idiot. He will drag you down to his level, and beat you with experience.