Επόμενο Προηγούμενο Περιεχόμενα
Το ssh είναι από τα πιο γνωστά πλέον προγράμματα. Είναι
για όλους σχεδόν ένα από τα πιο χρήσιμα εργαλεία για
remote access. Το αγαπημένο μας ssh μπορεί να κάνει και
κάποιες άλλες δουλειές, όπως να κάνει port forwarding ή
να γίνει socks 4 proxy, διοχετεύοντας όλο το traffic από
το τοπικό μηχάνημα στο απομακρυσμένο.
Για να γίνει το ssh ένας μικρός τοπικός socks 4 proxy το
μόνο που έχετε να κάνετε είναι:
ssh -D 1080 my.linux.server.gr
Τώρα όσο είμαστε συνδεδεμένοι στο απομακρυσμένο μηχάνημα
my.linux.server.gr θα παρατηρήσουμε και την port 1080 στο
μηχάνημά μας να ακούει για συνδέσεις. Το option -D ορίζει
πως το τοπικό μηχάνημα θα εξυπηρετεί συνδέσεις στην port
1080. Άρα, αν ρυθμίσουμε τον φυλλομετρητή μας να
χρησιμοποιεί proxy ή τον αγαπημένο μας IRC client να
χρησιμοποιεί την port 1080 σαν proxy θα παρατηρήσουμε πως
όλες πλέον οι συνδέσεις μας περνούν μέσα από το secure
shell που έχουμε.
Ένα άλλο option που έχει το ssh είναι να κάνει port
forwarding από και προς το απομακρυσμένο μηχάνημα. Εδώ
υπάρχουν δύο περιπτώσεις.
Να κάνει κάποιος forward μία port από το τοπικό μηχάνημα
μέσω του ssh.
Για να γίνει αυτό το μόνο που πρέπει να κάνουμε είναι :
ssh -L 1080:uk.irc.gr:6667 my.linux.server.gr
όπου στην προκειμένη περίπτωση, ανοίγει μια port στο τοπικό
μηχάνημα και στο παράδειγμά μας η port 1080 και ότι σύνδεση
γίνει εκεί μεταφέρεται αμέσως μέσω του ssh και κάνει
σύνδεση στο server uk.irc.gr στην port 6667. Με το
συγκεκριμένο παράδειγμα μπορούμε να ανοίξουμε τον αγαπημένο
μας IRC Client και να δώσουμε σαν server το local μηχάνημα
και port την 1080
/server 127.0.0.1 1080
και να συνδεθούμε στο GRNet και συγκεκριμένα στον server uk.irc.gr. Ομοίως,
μπορούμε να κάνουμε το ίδιο και για ένα web site ή ένα ftp server. Προσωπικά βρήκα πολύ
χρήσιμο το option αυτό όταν ο διαχειριστής του proxy της εταιρίας σου επιτρέπει να
κάνεις ssh άλλα δεν επιτρέπει τις port για να κάνει κανείς IRC.
Να κάνει κάποιος forward μία port από το απομακρυσμένο
μηχάνημα στο τοπικό μηχάνημα ή σε κάποιο άλλο στο τοπικό
δίκτυο.
Αυτό θα ήτανε ιδιαίτερα χρήσιμο αν θέλουμε να συνδεθεί
κάποιος προσωρινά στο μηχάνημα μας ή σε κάποιο μηχάνημα
στο τοπικό μας δίκτυο. Με την εντολή:
ssh -R 5100:192.168.0.3:80 my.linux.server.gr
ανοίγουμε την port 5100 στο μηχάνημα my.linux.server.gr και
του ορίζουμε πως θα ανακατευθύνει ότι συνδέσεις γίνονται
εκεί μέσω του ssh στο μηχάνημα 192.168.0.3 και στην port 80
(που είναι οι web υπηρεσίες συνήθως). Έν ολίγοις αν στο
μηχάνημα μας 192.168.0.3 έχουμε κάποιο web server όποιος
χρήστης πάει να δει το site http://my.linux.server.gr:5100/
στην πραγματικότητα θα δει τον web server μας.
Σημείωση: Για να ανοίξουμε ports μικρότερα από την port
1024 θα πρέπει να έχουμε root access στα αντίστοιχα
μηχανήματα, δηλαδή στο 3.2.2 πρέπει να έχουμε root access
στο απομακρυσμένο μηχάνημα και στην ενότητα 3.2.1 θα
πρέπει να έχουμε root access στο μηχάνημα το οποίο
βρισκόμαστε.
Σε πολλές περιπτώσεις όμως, για πολλούς και διάφορους
λόγους, κάποιος "κακός" διαχειριστής δεν μας αφήνει να
έχουμε πρόσβαση με secure shell (ssh), και περνάει όλη
την κίνηση του δικτύου προς το Internet από κάποιο proxy.
Ευτυχώς όμως υπάρχουν εργαλεία που μας επιτρέπουν να
μπορέσουμε να "προσπεράσουμε" τον proxy. Τέτοια εργαλεία
είναι: το proxytunnel, το corkscrew, το desproxy, το Http
Proxy και άλλα. Ύστερα από αρκετές δοκιμές εμένα μου
άρεσε περισσότερο και μου δούλεψε αρκετά έως πολύ εύκολα
το proxytunnel που δεν χρειάζεται καν root access,
μπορείς να το έχεις στο home directory και υποστηρίζει
και proxy authentication.
Εγκατάσταση - ρύθμιση
Μπορείτε να κατεβάσετε το πρόγραμμα από το
http://proxytunnel.sf.net/ και να το εγκαταστήσετε πολύ
εύκολα, είτε να κατεβάσετε binaries. Ίσως η ρύθμισή του
να φανεί λιγάκι περίεργη αλλά είναι αρκετά εύκολη. Τα
μόνα που έχετε να κάνετε είναι:
-
Να δημιουργήσετε τον κατάλογο /.ssh στο home directory
σας (mkdir /.ssh)
-
Να δημιουργήσετε το αρχείο config (touch /.ssh/config)
-
Να επεξεργασθείτε το αρχείο config με τον αγαπημένο σας
επεξεργαστή κειμένου (πχ. vi, vim, mcedit, pico, joe ή
όποιον προτιμάτε)
-
και τέλος να προσθέσετε την γραμμή
Host foobar
ProtocolKeepAlives 30
ProxyCommand /path/to/proxytunnel -g proxy.customer.com
-G 8080 -u user -s password -d my.linux.server.gr -D
443
Όπου:
* proxy.customer.com είναι ο proxy server (μπορεί να
χρησιμοποιηθεί και η IP του server)
* 8080 είναι η port του proxy
* user είναι το username που χρησιμοποιείτε για τον
proxy
* password είναι το password για τον proxy
* my.linux.server.gr είναι το μηχάνημα στο οποίο
θέλετε να συνδεθείτε
* και 443 είναι η port στο μηχάνημα αυτό (η port για
το ssh συνήθως είναι η 22, αλλά μπορούμε να
"σηκώσουμε" ssh server σε όποια port θέλουμε. Εδώ
χρησιμοποιώ την 443 γιατί σε αυτήν την port επιτρέπει
ο proxy secure connections, επειδή η 443 είναι η port
για https)
Είναι πλέον έτοιμο το proxytunnel να το
χρησιμοποιήσετε. Για να το χρησιμοποιήσουμε απλά γράφουμε:
ssh foobar
και το πρόγραμμα κάνει τα υπόλοιπα. Αν όλα πάνε καλά και
είναι σωστές οι ρυθμίσεις θα συνδεθεί στο
my.linux.server.gr χωρίς κανένα πρόβλημα.
Επόμενο Προηγούμενο Περιεχόμενα