SSH (Ασφαλές κέλυφος) είναι ένα πρωτόκολλο που μας βοηθά να έχουμε ασφαλή πρόσβαση σε απομακρυσμένους υπολογιστές, βασικά όπως το Telnet, αλλά χρησιμοποιώντας αλγόριθμους κρυπτογράφησης που μας βοηθούν να διατηρήσουμε τη σύνδεσή μας ασφαλή, ειδικά αν θέλουμε να έχουμε πρόσβαση σε υπολογιστές που εκτελούν κάποια σημαντική λειτουργία σε έναν οργανισμό.
Γενικά, για πρόσβαση πρέπει να παρέχουμε το όνομα χρήστη και τη διεύθυνση του υπολογιστή μας, έτσι ώστε ο διακομιστής SSH να μας ζητά τον κωδικό πρόσβασης:
ssh usuario@equiporemoto
Από τη στιγμή που ο πελάτης ξεκινά την πρώτη σύνδεση μεταξύ του απομακρυσμένου υπολογιστή και εμάς, οι πληροφορίες ταξιδεύουν ήδη με ασφάλεια, εμποδίζοντας κάποιον να αποκτήσει τα διαπιστευτήριά μας για πρόσβαση στον εν λόγω υπολογιστή, ωστόσο το SSH είναι ένα πολύ προσαρμόσιμο πρωτόκολλο που μας προσφέρει πολλές δυνατότητες.
SCP
Το πρώτο από αυτά είναι να μπορείτε να μεταφέρετε αρχεία μεταξύ του πελάτη και του απομακρυσμένου υπολογιστή, χωρίς να χρειάζεται να προσαρτήσετε έναν διακομιστή FTP ή NFS, απλά χρησιμοποιώντας το SCP (Secure CoPy) που εφαρμόζουν οι περισσότεροι διακομιστές SSH:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
Σήραγγα SSH
Αυτή η δυνατότητα είναι πολύ χρήσιμη, καθώς μας επιτρέπει να στέλνουμε και να λαμβάνουμε πληροφορίες που δεν είναι απαραίτητα κελύφους εντολών μεταξύ του πελάτη και του απομακρυσμένου υπολογιστή, για παράδειγμα συνηθισμένη περιήγηση. Εάν δεν μαντέψετε ποια χρήση μπορεί να έχει, σκεφτείτε τα εξής: πρέπει να αποκτήσετε πρόσβαση σε μια σελίδα, αλλά το μέρος όπου έχετε ένα τείχος προστασίας έχει εφαρμοστεί που αποκλείει ακριβώς αυτήν τη σελίδα, επομένως, μπορούμε να κάνουμε «tunneling» με ένα τηλεχειριστήριο υπολογιστής που δεν διαθέτει τα εν λόγω μπλοκ και περιήγηση στην εν λόγω σελίδα μέσω της συνεδρίας SSH
ssh -D 8888 usuario@equiporemoto
Μόλις συνδεθεί, ο πελάτης SSH «ακούει» στη θύρα 8888 ως διακομιστή μεσολάβησης, έτσι ώστε να μπορούμε να διαμορφώσουμε το πρόγραμμα περιήγησής μας και όλη η κίνηση μεταδίδεται μέσω της περιόδου σύνδεσης SSH
Ένα άλλο παράδειγμα που εμφανίζεται για μένα είναι όταν, λόγω κάποιου γεωγραφικού περιορισμού, δεν μπορούμε να αποκτήσουμε πρόσβαση σε μια διαδικτυακή υπηρεσία από όπου βρισκόμαστε, όταν φτιάχνουμε τη σήραγγα, η εν λόγω υπηρεσία ιστού ανιχνεύει την IP του απομακρυσμένου διακομιστή μας ως πηγή, όχι την IP πελάτη μας. Αυτό είναι κάπως ισοδύναμο με VPN (Virtual Private Network)
Αντίστροφη SSH
Εάν για κάποιο λόγο πρέπει να αποκτήσουμε πρόσβαση σε έναν υπολογιστή που βρίσκεται πίσω από ένα τείχος προστασίας και δεν μας επιτρέπει να ανακατευθύνουμε την κίνηση SSH σε αυτό, μπορούμε να κάνουμε ένα «αντίστροφο SSH», με τέτοιο τρόπο ώστε αυτός ο υπολογιστής να συνδέεται με έναν άλλο διακομιστή SSH, στο οποίο μπορούμε επίσης να συνδεθούμε, προκειμένου να έχουμε πρόσβαση στον εξοπλισμό πίσω από το τείχος προστασίας. Ένα παράδειγμα που έρχεται στο μυαλό είναι όταν θέλουμε να βοηθήσουμε έναν φίλο που δεν έχει ιδέα πώς να ρυθμίσει μια ανακατεύθυνση στο μόντεμ του, αλλά πρέπει να αποκτήσουμε πρόσβαση στον υπολογιστή του από απόσταση:
Φίλος -> Μόντεμ -> Διακομιστής SSH <- Σχετικά με εμάς
Τα βήματα που πρέπει να ακολουθήσετε είναι σχετικά πολύ απλά:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
μας
ssh usuario@servidorssh
Μόλις μπείτε στον διακομιστή SSH, μπορούμε να συνδεθούμε με την ομάδα του φίλου μας χρησιμοποιώντας
ssh amigo@localhost -p 9999
Όπως μπορείτε να δείτε, όλη η μαγεία βρίσκεται στην παράμετρο -R, η οποία λέει στον ενδιάμεσο διακομιστή ότι στη θύρα 9999 ο υπολογιστής του φίλου μας ακούει τώρα ως διακομιστής.
Αυτές είναι μόνο μερικές δυνατότητες που μας προσφέρει η SSH, αλλά σας καλώ να πειραματιστείτε με μερικές ακόμη, για παράδειγμα. μπορούμε να κάνουμε σενάρια χωρίς παρακολούθηση χρησιμοποιώντας κλειδιά RSA, ανακατεύθυνση συνεδριών Χ (λειτουργία γραφικών) στο γραφικό περιβάλλον μας, για να αναφέρουμε μερικά.