Αποκτήστε πρόσβαση στο τερματικό του διακομιστή σας μέσω του προγράμματος περιήγησης ιστού

Ας υποθέσουμε ότι για κάποιο λόγο δεν μπορούμε να έχουμε πρόσβαση στον διακομιστή μας με τερματικό, γιατί ίσως, περπατάμε στο δρόμο και έχουμε μόνο το κινητό μας στην κορυφή, και επειδή δεν είμαστε geeks ή οτιδήποτε άλλο, δεν έχουμε εγκαταστήσει καμία εφαρμογή αυτός ο τύπος.

Τότε τι κάνουμε; Λοιπόν, τίποτα, δεν μπορούμε να κάνουμε τίποτα μέχρι να φτάσουμε στο σπίτι ή στην εργασία, να αποκτήσουμε πρόσβαση στον διακομιστή μας και να εγκαταστήσουμε shellinabox. Αλλά τι είναι αυτό, τρώτε;

shellinabox

shellinabox υλοποιεί Ένας διακομιστής Ιστός που μπορεί εξαγωγή line εργαλεία εντολή να τερματικό εξομοιωτή βασισμένο στον Ιστό. Αυτός ο εξομοιωτής είναι προσβάσιμο από οποιοδήποτε πρόγραμμα περιήγησης που υποστηρίζει το JavaScript και CSS y δεν απαιτεί κανένα είδος συνδέω επιπλέον στη λειτουργία.

Αν και το αρχικό έργο διακόπηκε, υπάρχουν ένα πιρούνι στο Github που μας επιτρέπει να το εγκαταστήσουμε αν δεν το έχουμε στα αποθετήρια. Στην περίπτωση του Ubuntu 14.04 είναι, οπότε πρέπει απλώς να ανοίξουμε ένα τερματικό και να βάλουμε:

$ sudo apt install shellinabox openssl ca-certificates

Στην περίπτωση των δύο τελευταίων πακέτων, σε περίπτωση που δεν τα έχουμε ήδη εγκαταστήσει. Και μόλις γίνει αυτό, μπορούμε πλέον να αποκτήσουμε πρόσβαση στο τερματικό μας στον Ιστό τοποθετώντας το πρόγραμμα περιήγησης:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Χρησιμοποιήστε το Shellinabox μέσω της θύρας 80

Όπως μπορείτε να δείτε, από προεπιλογή το Shellinabox χρησιμοποιεί τη θύρα 4200 και ενδέχεται να μην είμαστε σε θέση να αποκτήσουμε πρόσβαση σε αυτό εάν έχει αποκλειστεί από τον πάροχο υπηρεσιών μας. Μπορούμε να χρησιμοποιήσουμε μια παραλλαγή που δεν είναι πολύ ασφαλής αλλά λειτουργεί, δηλαδή να τη χρησιμοποιήσουμε shellinabox Από το λιμάνι 80, αν και αργότερα θα δείξω πώς να χρησιμοποιήσω το 443 αν το έχουμε διαθέσιμο.

Αυτό που θα κάνουμε είναι να αποκτήσουμε πρόσβαση στο Shellinabox τοποθετώντας το πρόγραμμα περιήγησής μας:

http://la_ip_o_nombre_del_servidor/terminal

Για να γίνει αυτό, το πρώτο πράγμα που κάνουμε είναι να εγκαταστήσουμε το NGinx:

$ sudo apt install nginx

Τώρα δημιουργούμε το αρχείο / etc / nginx / sites-enabled / shellinabox και το βάζουμε μέσα:

 διακομιστής {proxy_set_header Host $ http_host; proxy_set_header X-Forwarded-Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; τοποθεσία / τερματικό / {proxy_pass http: // localhost: 4200 /; }}

Επεξεργαζόμαστε το αρχείο / etc / default / shellinabox και βάζουμε στο τέλος:

SHELLINABOX_ARGS="--localhost-only --disable-ssl"

Επανεκκίνηση Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox επανεκκίνηση $ sudo /etc/init.d/nginx επανεκκίνηση

Και έτοιμος !!

Χρησιμοποιήστε το Shellinabox μέσω της θύρας 443

Αυτή η διαδικασία είναι λίγο πιο δύσκολη, γιατί πρέπει να δημιουργήσουμε τα πιστοποιητικά SSL. Για αυτό θα κάνουμε τα εξής:

Πρώτα εγκαθιστούμε το OpenSSL:

$ sudo apt-get install openssl

Δημιουργούμε ένα ιδιωτικό κλειδί:

openssl genrsa -out server.key 2024

Δημιουργούμε τη βάση του πιστοποιητικού, όπου θα βάλουμε μια σειρά δεδομένων:

openssl req -new -key server.key -out server.csr

Τα δεδομένα που θα συμπληρώσουμε θα είναι:

  • Όνομα χώρας (κωδικός 2 γραμμάτων): Κωδικός χώρας σε μορφή δύο γραμμάτων ISO (π.χ. ES, US, CU, MX ..).
  • Όνομα πολιτείας ή επαρχίας (πλήρες όνομα): Πολιτεία ή επαρχία (π.χ. Φλόριντα)
  • Όνομα τοποθεσίας: Πόλη ή πόλη (π.χ. Μαϊάμι).
  • Ονομα Οργανισμού: Όνομα του οργανισμού, (π.χ. DesdeLinux).
  • Όνομα οργανικής μονάδας: Τομέας οργάνωσης (π.χ. Blogs).
  • Συνηθισμένο όνομα: Όνομα τομέα ή FQDN. Είναι σημαντικό να γνωρίζετε ότι υπάρχει διαφορά μεταξύ ενός ιστολογίου.desdelinux.net και desdelinux.καθαρά. Πρέπει να καταχωρήσετε το πιστοποιητικό για το ένα ή το άλλο.
  • Διεύθυνση ηλεκτρονικού ταχυδρομείου: Διεύθυνση email επικοινωνίας.
  • Ένας κωδικός πρόσβασης πρόκλησης: Στα λευκά.
  • Ένα προαιρετικό όνομα εταιρείας: Στα λευκά.

Τώρα δημιουργούμε το πιστοποιητικό SSL, το οποίο θα λάβει τα δεδομένα που εισαγάγαμε:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Αντιγράφουμε τα πιστοποιητικά στο φάκελο SSL μέσα στο / etc:

$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key

Επεξεργαζόμαστε ξανά το αρχείο / etc / default / shellinabox και αλλάζουμε αυτό που είχαμε βάλει στο τέλος:

SHELLINABOX_ARGS="--no-beep"

Τώρα επεξεργαζόμαστε το αρχείο / etc / nginx / sites-enabled / shellinabox και το βάζουμε μέσα:

 διακομιστής {ακούστε 80; επιστροφή 301 https: // $ host $ request_uri; } διακομιστής {ακούστε 443; όνομα_ διακομιστή myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl στο? ssl_session_cache builtin: 1000 shared: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ΥΨΗΛΟ:! aNULL:! eNULL:! ΕΞΑΓΩΓΗ:! ΚΑΜΕΛΙΑ:! DES:! MD5:! PSK:! RC4; ssl_prefer_server_ciphers ενεργοποιημένη; access_log /var/log/nginx/shellinabox.access.log; τοποθεσία / τερματικό {host proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ σχήμα; # Διορθώστε το σφάλμα "Φαίνεται ότι η αντίστροφη ρύθμιση διακομιστή μεσολάβησης είναι σπασμένη". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Επανεκκίνηση των υπηρεσιών:

$ sudo /etc/init.d/shellinabox επανεκκίνηση $ sudo /etc/init.d/nginx επανεκκίνηση

και έχουμε πρόσβαση

http://la_ip_o_nombre_del_servidor/terminal

που θα πρέπει να μας ανακατευθύνει σε:

https://la_ip_o_nombre_del_servidor/terminal

Και αυτό είναι όλο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   κλόουν dijo

    Μου θύμισε τι βγαίνει στη σειρά CSI

  2.   Δράσιλ dijo

    Μια πιο ενδιαφέρουσα ανάρτηση. Δεν είχα ακούσει ποτέ για αυτό το βοηθητικό πρόγραμμα και η αλήθεια είναι ότι είναι πιο περίεργο και χρήσιμο ... Πρέπει να υποθέσω ότι όπως αυτή η ιδέα έχει εφαρμοστεί στο Ngix, μπορεί επίσης να εφαρμοστεί και στον Apache, σωστά;

  3.   mat1986 dijo

    Μου θυμίζει πώς λειτουργεί το Butterfly, ειδικά όταν χρησιμοποιώ το τερματικό από το πρόγραμμα περιήγησης. Φυσικά, όχι με τόση πολυπλοκότητα με αυτό που δείχνουν εδώ 🙂

  4.   Ξύκιζ dijo

    «Ας υποθέσουμε ότι για κάποιο λόγο δεν μπορούμε να έχουμε πρόσβαση στο διακομιστή μας με τερματικό, γιατί ίσως, περπατάμε στο δρόμο και έχουμε μόνο το κινητό μας στην κορυφή, και επειδή δεν είμαστε geeks ή οτιδήποτε άλλο, δεν έχουμε εγκαταστήσει καμία εφαρμογή αυτού του τύπου. "

    Πώς θα θέλουμε να εισέλθουμε στον διακομιστή μας εάν δεν είμαστε geeks; χαχαχα

    Μου φαίνεται πολύ πιο γρήγορα να χρησιμοποιώ μια εφαρμογή ssh παρά να χρησιμοποιώ ένα πρόγραμμα περιήγησης και αποφεύγετε την εγκατάσταση λογισμικού στον διακομιστή, αλλά εξακολουθεί να είναι μια ενδιαφέρουσα επιλογή.

  5.   Κανένα dijo

    Πλεονέκτημα όταν βρίσκεστε σε ένα μέρος με καθαρά Windows.

  6.   όνομα dijo

    "Πλεονέκτημα όταν βρίσκεστε σε ένα μέρος με καθαρά Windows."
    συνεπάγεται ……………… στόκος ή γατάκι.

  7.   Jose Manuel Higuera dijo

    Εξαιρετικοί άντρες αυτό το σούπερ ευχαριστώ για τη συμβολή