Android

Πώς να ρυθμίσετε το tunneling ssh (προώθηση θυρών)

타워형 페트병 화분 만들기, 다육이 롱화분 만들기, 다육식물 전용화분 만들기

타워형 페트병 화분 만들기, 다육이 롱화분 만들기, 다육식물 전용화분 만들기

Πίνακας περιεχομένων:

Anonim

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

Η προώθηση SSH είναι χρήσιμη για τη μεταφορά δεδομένων δικτύου υπηρεσιών που χρησιμοποιεί ένα μη κρυπτογραφημένο πρωτόκολλο, όπως VNC ή FTP, πρόσβαση σε γεωγραφικά περιορισμένο περιεχόμενο ή παράκαμψη ενδιάμεσων τείχους προστασίας. Βασικά, μπορείτε να προωθήσετε οποιαδήποτε θύρα TCP και να κάνετε σήμανση της κυκλοφορίας μέσω ασφαλούς σύνδεσης SSH.

Υπάρχουν τρεις τύποι προώθησης θύρας SSH:

  • Τοπική προώθηση θυρών. - Προωθεί μια σύνδεση από τον κεντρικό υπολογιστή-πελάτη στον κεντρικό υπολογιστή διακομιστή SSH και μετά στη θύρα κεντρικού υπολογιστή προορισμού. - Προωθεί μια θύρα από τον κεντρικό υπολογιστή διακομιστή στον κεντρικό υπολογιστή-πελάτη και στη συνέχεια στη θύρα κεντρικού υπολογιστή προορισμού.Δυναμική φόρτωση θυρών. - Δημιουργεί διακομιστή μεσολάβησης SOCKS, ο οποίος επιτρέπει την επικοινωνία σε διάφορες θύρες.

, θα μιλήσουμε για τον τρόπο δημιουργίας τοπικών, απομακρυσμένων και δυναμικών κρυπτογραφημένων σηράγγων SSH.

Τοπική προώθηση θυρών

Η τοπική προώθηση θυρών σάς επιτρέπει να προωθήσετε μια θύρα στο τοπικό (client-ssh) μηχάνημα σε μια θύρα στο μηχάνημα απομακρυσμένης (διακομιστή ssh), η οποία στη συνέχεια προωθείται σε μια θύρα στο μηχάνημα προορισμού.

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

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

Στο Linux, τα macOS και άλλα συστήματα Unix για τη δημιουργία μιας τοπικής προώθησης θύρας περνούν την επιλογή -L στο ssh client:

ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Οι επιλογές που χρησιμοποιούνται είναι οι εξής:

  • LOCAL_PORT - Το τοπικό μηχάνημα ip και αριθμός θύρας. Όταν παραλείπεται το LOCAL_IP , ο ssh πελάτης δεσμεύεται στο localhost. DESTINATION:DESTINATION_PORT - Η διεύθυνση IP ή του κεντρικού υπολογιστή και η θύρα του μηχανήματος προορισμού. SERVER_IP - Η απομακρυσμένη διεύθυνση IP του χρήστη SSH και του διακομιστή.

Μπορείτε να χρησιμοποιήσετε οποιονδήποτε αριθμό θύρας μεγαλύτερο από 1024 ως LOCAL_PORT . Οι θύρες αριθμοί μικρότεροι από 1024 είναι προνομιακές θύρες και μπορούν να χρησιμοποιηθούν μόνο από το root. Εάν ο διακομιστής SSH σας ακούει σε θύρα διαφορετική από 22 (η προεπιλογή), χρησιμοποιήστε την επιλογή -p .

Το όνομα κεντρικού υπολογιστή προορισμού πρέπει να επιλυθεί από το διακομιστή SSH.

Ας υποθέσουμε ότι έχετε έναν εξυπηρετητή βάσεων δεδομένων MySQL που εκτελείται στο db001.host μηχανήματος σε ένα εσωτερικό (ιδιωτικό) δίκτυο, στη θύρα 3306 που είναι προσβάσιμη από το pub001.host του μηχανήματος και θέλετε να συνδεθείτε χρησιμοποιώντας τον κεντρικό υπολογιστή mysql υπολογιστή σας στο διακομιστή βάσης δεδομένων. Για να γίνει αυτό, μπορείτε να προωθήσετε τη σύνδεση ως εξής:

ssh -L 3336:db001.host:3306 [email protected]

Μόλις εκτελέσετε την εντολή, θα σας ζητηθεί να εισαγάγετε τον απομακρυσμένο κωδικό πρόσβασης χρήστη SSH. Μετά την είσοδό του, θα συνδεθείτε στον απομακρυσμένο διακομιστή και θα δημιουργηθεί η σήραγγα SSH. Είναι καλή ιδέα να ορίσετε έναν έλεγχο ταυτότητας βασισμένο σε κλειδί SSH και να συνδεθείτε στον διακομιστή χωρίς να εισάγετε έναν κωδικό πρόσβασης.

Τώρα, αν db001.host:3306 τον τοπικό πελάτη της βάσης δεδομένων μηχανής σας στο 127.0.0.1:3336 , η σύνδεση θα προωθηθεί στον db001.host:3306 MySQL db001.host:3306 μέσω της μηχανής pub001.host που θα λειτουργεί ως ένας ενδιάμεσος διακομιστής.

Μπορείτε να προωθήσετε πολλές θύρες σε πολλούς προορισμούς σε μία μόνο εντολή ssh. Για παράδειγμα, έχετε έναν άλλο διακομιστή βάσης δεδομένων MySQL που εκτελείται στον υπολογιστή db002.host και θέλετε να συνδεθείτε και στους δύο διακομιστές από τον τοπικό πελάτη που θα εκτελέσετε:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]

Για να συνδεθείτε με το δεύτερο διακομιστή θα χρησιμοποιήσετε το 127.0.0.1:3337 .

Όταν ο κεντρικός υπολογιστής προορισμού είναι ο ίδιος με τον διακομιστή SSH αντί να καθορίσετε την διεύθυνση IP του κεντρικού υπολογιστή προορισμού ή το όνομα κεντρικού υπολογιστή, μπορείτε να χρησιμοποιήσετε το localhost .

Ας υποθέσουμε ότι πρέπει να συνδεθείτε σε ένα απομακρυσμένο μηχάνημα μέσω του VNC που λειτουργεί στον ίδιο διακομιστή και δεν είναι προσβάσιμο από το εξωτερικό. Η εντολή που χρησιμοποιείτε είναι:

ssh -L 5901:127.0.0.1:5901 -N -f [email protected]

Η επιλογή -f λέει την εντολή ssh να τρέξει στο παρασκήνιο και -N να μην εκτελέσει μια απομακρυσμένη εντολή. Χρησιμοποιούμε το localhost επειδή ο VNC και ο διακομιστής SSH εκτελούνται στον ίδιο κεντρικό υπολογιστή.

Αποστολή απομακρυσμένης θύρας

Η αποστολή απομακρυσμένης θύρας είναι το αντίθετο της τοπικής προώθησης θύρας. Σας επιτρέπει να προωθήσετε μια θύρα στο μηχάνημα απομακρυσμένου (server ssh) σε μια θύρα του τοπικού υπολογιστή (client ssh), η οποία στη συνέχεια προωθείται σε μια θύρα στο μηχάνημα προορισμού.

Σε αυτόν τον τύπο προώθησης, ο διακομιστής SSH ακούει σε μια δεδομένη θύρα και τις σήραγγες οποιαδήποτε σύνδεση σε εκείνη τη θύρα με την καθορισμένη θύρα του τοπικού προγράμματος-πελάτη SSH, ο οποίος στη συνέχεια συνδέεται σε μια θύρα στο μηχάνημα προορισμού. Το μηχάνημα προορισμού μπορεί να είναι το τοπικό ή οποιοδήποτε άλλο μηχάνημα.

Στο Linux, MacOS και άλλα συστήματα Unix για τη δημιουργία απομακρυσμένης προώθησης θυρών περνούν την επιλογή -R στον client ssh :

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Οι επιλογές που χρησιμοποιούνται είναι οι εξής:

  • REMOTE_PORT - Η διεύθυνση IP και ο αριθμός θύρας στον απομακρυσμένο διακομιστή SSH. Ένα κενό REMOTE σημαίνει ότι ο απομακρυσμένος διακομιστής SSH θα δεσμευτεί σε όλες τις διεπαφές. DESTINATION:DESTINATION_PORT - Η διεύθυνση IP ή του κεντρικού υπολογιστή και η θύρα του μηχανήματος προορισμού. SERVER_IP - Η απομακρυσμένη διεύθυνση IP του χρήστη SSH και του διακομιστή.

Η τοπική προώθηση θυρών χρησιμοποιείται κυρίως για να παρέχει πρόσβαση σε μια εσωτερική υπηρεσία σε κάποιον από το εξωτερικό.

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

ssh -L 8080:127.0.0.1:3000 -N -f [email protected]

Η παραπάνω εντολή θα κάνει τον εξυπηρετητή ssh να ακούσει στη θύρα 8080 και να πραγματοποιήσει τούνελ σε όλη την κυκλοφορία από αυτή τη θύρα στο τοπικό σας μηχάνημα στη θύρα 3000 .

Τώρα, ο the_ssh_server_ip:8080 σας μπορεί να πληκτρολογήσει the_ssh_server_ip:8080 στο πρόγραμμα περιήγησης και να κάνει προεπισκόπηση της εξαιρετικής εφαρμογής σας.

Δυναμική προώθηση παραμετροποίησης

Η δυναμική προώθηση των θυρών σάς επιτρέπει να δημιουργήσετε μια υποδοχή στην τοπική μηχανή (client ssh) που λειτουργεί ως διακομιστής μεσολάβησης SOCKS. Όταν ένας υπολογιστής-πελάτης συνδέεται σε αυτήν τη θύρα, η σύνδεση προωθείται στο απομακρυσμένο (server ssh), το οποίο στη συνέχεια προωθείται σε μια δυναμική θύρα στο μηχάνημα προορισμού.

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

Στο Linux, τα macOS και άλλα συστήματα Unix για τη δημιουργία μιας δυναμικής προώθησης θύρας (SOCKS) περνούν την επιλογή -D στον client ssh :

ssh -D LOCAL_PORT SSH_SERVER

Οι επιλογές που χρησιμοποιούνται είναι οι εξής:

  • LOCAL_PORT - Το τοπικό μηχάνημα ip και αριθμός θύρας. Όταν παραλείπεται το LOCAL_IP , ο ssh πελάτης δεσμεύεται στο localhost. SERVER_IP - Η απομακρυσμένη διεύθυνση IP του χρήστη SSH και του διακομιστή.

Ένα τυπικό παράδειγμα μιας δυναμικής προώθησης θύρας είναι η σήραγγα της κίνησης του προγράμματος περιήγησης μέσω ενός διακομιστή SSH.

Η ακόλουθη εντολή θα δημιουργήσει μια σήραγγα SOCKS στη θύρα 9090 :

ssh -D 9090 -N -f [email protected]

Μόλις δημιουργηθεί η σήραγγα, μπορείτε να διαμορφώσετε την εφαρμογή σας για να την χρησιμοποιήσετε. Αυτό το άρθρο εξηγεί τον τρόπο ρύθμισης παραμέτρων του προγράμματος περιήγησης Firefox και του Google Chrome για να χρησιμοποιήσετε το διακομιστή μεσολάβησης SOCKS.

Η προώθηση των θυρών πρέπει να διαμορφωθεί ξεχωριστά για κάθε εφαρμογή που θέλετε να τούνετε στην κυκλοφορία.

Ρύθμιση σήραγγας SSH στα Windows

Οι χρήστες των Windows μπορούν να δημιουργήσουν σήραγγες SSH χρησιμοποιώντας το πρόγραμμα-πελάτη PuTTY SSH. Μπορείτε να κατεβάσετε το PuTTY εδώ.

  1. Εκκινήστε Putty και εισαγάγετε τη διεύθυνση IP του διακομιστή SSH στο πεδίο Host name (or IP address) .

    Θα εμφανιστεί ένα νέο παράθυρο που θα σας ζητάει το όνομα χρήστη και τον κωδικό πρόσβασής σας. Μόλις εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας, θα συνδεθείτε στο διακομιστή σας και θα ξεκινήσει η σήραγγα SSH.

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

συμπέρασμα

Σας έχουμε δείξει πώς να ρυθμίσετε σήραγγες SSH και να προωθήσετε την κίνηση μέσω ασφαλούς σύνδεσης SSH. Για ευκολία στη χρήση, μπορείτε να ορίσετε τη σήραγγα SSH στο αρχείο ρυθμίσεων SSH ή να δημιουργήσετε ένα ψευδώνυμο Bash που θα ρυθμίσει τη σήραγγα SSH.

ασφάλεια ssh