Πρακτικές συμβουλές, παραδείγματα και σήραγγες SSH
Πρακτικά παραδείγματα SSHπου θα οδηγήσει τις δεξιότητές σας ως απομακρυσμένου διαχειριστή συστήματος σε ένα νέο επίπεδο. Οι εντολές και οι συμβουλές θα βοηθήσουν όχι μόνο στη χρήση SSH, αλλά και να πλοηγηθείτε στο δίκτυο πιο έξυπνα.
Γνωρίζοντας μερικά κόλπα ssh χρήσιμο σε οποιονδήποτε διαχειριστή συστήματος, μηχανικό δικτύου ή επαγγελματία ασφαλείας.
Το παρακάτω παράδειγμα χρησιμοποιεί κοινές επιλογές που συναντώνται συχνά κατά τη σύνδεση σε έναν απομακρυσμένο διακομιστή SSH.
localhost:~$ ssh -v -p 22 -C neo@remoteserver
-v: Η έξοδος εντοπισμού σφαλμάτων είναι ιδιαίτερα χρήσιμη κατά την ανάλυση προβλημάτων ελέγχου ταυτότητας. Μπορεί να χρησιμοποιηθεί πολλές φορές για την εμφάνιση πρόσθετων πληροφοριών.
- p 22: θύρα σύνδεσης σε έναν απομακρυσμένο διακομιστή SSH. Το 22 δεν χρειάζεται να καθοριστεί, επειδή αυτή είναι η προεπιλεγμένη τιμή, αλλά εάν το πρωτόκολλο βρίσκεται σε κάποια άλλη θύρα, τότε το καθορίζουμε χρησιμοποιώντας την παράμετρο -p. Η θύρα ακρόασης καθορίζεται στο αρχείο sshd_config σε μορφή Port 2222.
-C: συμπίεση για σύνδεση. Εάν έχετε αργό κανάλι ή προβάλλετε πολύ κείμενο, αυτό μπορεί να επιταχύνει τη σύνδεση.
neo@: Η γραμμή πριν από το σύμβολο @ υποδεικνύει το όνομα χρήστη για έλεγχο ταυτότητας στον απομακρυσμένο διακομιστή. Εάν δεν το καθορίσετε, θα είναι από προεπιλογή το όνομα χρήστη του λογαριασμού στον οποίο είστε συνδεδεμένοι αυτήν τη στιγμή (~$ whoami). Ο χρήστης μπορεί επίσης να καθοριστεί με την παράμετρο -l.
remoteserver: όνομα του κεντρικού υπολογιστή στον οποίο θα συνδεθείτε ssh, μπορεί να είναι ένα πλήρως αναγνωρισμένο όνομα τομέα, μια διεύθυνση IP ή οποιοσδήποτε κεντρικός υπολογιστής στο αρχείο τοπικών κεντρικών υπολογιστών. Για να συνδεθείτε σε έναν κεντρικό υπολογιστή που υποστηρίζει και IPv4 και IPv6, μπορείτε να προσθέσετε την παράμετρο της γραμμής εντολών -4 ή -6 για σωστή ανάλυση.
Όλες οι παραπάνω παράμετροι είναι προαιρετικές εκτός remoteserver.
Χρήση αρχείου διαμόρφωσης
Αν και πολλοί είναι εξοικειωμένοι με το αρχείο sshd_config, υπάρχει επίσης ένα αρχείο ρυθμίσεων πελάτη για την εντολή ssh. Προεπιλεγμένη τιμή ~/.ssh/config, αλλά μπορεί να οριστεί ως παράμετρος σε μια επιλογή -F.
Host *
Port 2222
Host remoteserver
HostName remoteserver.thematrix.io
User neo
Port 2112
IdentityFile /home/test/.ssh/remoteserver.private_key
Το παραπάνω παράδειγμα αρχείου διαμόρφωσης ssh έχει δύο καταχωρήσεις κεντρικού υπολογιστή. Το πρώτο δείχνει όλους τους κεντρικούς υπολογιστές, για όλους εφαρμόζεται η παράμετρος διαμόρφωσης Port 2222. Το δεύτερο λέει ότι για τον κεντρικό υπολογιστή απομακρυσμένο διακομιστή θα πρέπει να χρησιμοποιήσετε διαφορετικό όνομα χρήστη, θύρα, FQDN και IdentityFile.
Ένα αρχείο διαμόρφωσης μπορεί να εξοικονομήσει πολύ χρόνο πληκτρολόγησης χαρακτήρων επιτρέποντας την αυτόματη εφαρμογή σύνθετων ρυθμίσεων κατά τη σύνδεση σε συγκεκριμένους κεντρικούς υπολογιστές.
Αντιγραφή αρχείων μέσω SSH χρησιμοποιώντας SCP
Ο πελάτης SSH συνοδεύεται από δύο άλλα πολύ εύχρηστα εργαλεία για την αντιγραφή αρχείων κρυπτογραφημένη σύνδεση ssh. Παρακάτω είναι ένα παράδειγμα τυπικής χρήσης των εντολών scp και sftp. Σημειώστε ότι πολλές από τις επιλογές για το ssh ισχύουν και για αυτές τις εντολές.
Σε αυτό το παράδειγμα το αρχείο mypic.png αντιγράφηκε σε απομακρυσμένο διακομιστή σε ένα φάκελο /μέσα/δεδομένα και μετονομάστηκε σε mypic_2.png.
Μην ξεχνάτε τη διαφορά στην παράμετρο της θύρας. Σε αυτό συναντούν πολλούς που εκτοξεύουν scp από τη γραμμή εντολών. Εδώ είναι η παράμετρος της θύρας -Pαλλά όχι -pόπως στο ssh client! Θα ξεχάσεις, αλλά μην ανησυχείς, όλοι ξεχνάνε.
Για όσους γνωρίζουν την κονσόλα ftp, πολλές από τις εντολές είναι παρόμοιες στο sftp. Μπορείτε να κάνετε ώθηση, βάζω и lsόπως θέλει η καρδιά σου.
sftp neo@remoteserver
Πρακτικά παραδείγματα
Σε πολλά από αυτά τα παραδείγματα, το αποτέλεσμα μπορεί να επιτευχθεί με διαφορετικές μεθόδους. Όπως σε όλα μας σχολικά βιβλία και παραδείγματα, δίνεται προτίμηση σε πρακτικά παραδείγματα που απλώς κάνουν το κόλπο.
1. SSH socks proxy
Η δυνατότητα SSH Proxy είναι νούμερο 1 για καλό λόγο. Είναι πιο ισχυρό από όσο πιστεύουν οι περισσότεροι και σας δίνει πρόσβαση σε οποιοδήποτε σύστημα στο οποίο έχει πρόσβαση ένας απομακρυσμένος διακομιστής, χρησιμοποιώντας σχεδόν οποιαδήποτε εφαρμογή. Ένας πελάτης ssh μπορεί να διοχετεύσει την κυκλοφορία μέσω ενός διακομιστή μεσολάβησης SOCKS με μια απλή εντολή. Είναι σημαντικό να κατανοήσουμε ότι η κίνηση σε απομακρυσμένα συστήματα θα προέρχεται από έναν απομακρυσμένο διακομιστή, όπως θα υποδεικνύεται στα αρχεία καταγραφής του διακομιστή web.
Εδώ ξεκινάμε ένα socks proxy στη θύρα TCP 8888, η δεύτερη εντολή ελέγχει ότι η θύρα είναι ενεργή στη λειτουργία ακρόασης. 127.0.0.1 ορίζει ότι η υπηρεσία εκτελείται μόνο σε localhost. Μπορούμε να χρησιμοποιήσουμε μια ελαφρώς διαφορετική εντολή για ακρόαση σε όλες τις διεπαφές, συμπεριλαμβανομένου του ethernet ή του wifi, αυτό θα επιτρέψει σε άλλες εφαρμογές (προγράμματα περιήγησης κ.λπ.) στο δίκτυό μας να συνδεθούν στην υπηρεσία διακομιστή μεσολάβησης μέσω του διακομιστή μεσολάβησης ssh socks.
Τώρα μπορούμε να διαμορφώσουμε το πρόγραμμα περιήγησης ώστε να συνδέεται με το socks proxy. Στον Firefox επιλέξτε Ρυθμίσεις | Κύρια | Ρυθμίσεις δικτύου. Καθορίστε τη διεύθυνση IP και τη θύρα στην οποία θα συνδεθείτε.
Δώστε προσοχή στην επιλογή στο κάτω μέρος της φόρμας, ώστε τα ερωτήματα DNS του προγράμματος περιήγησης να περάσουν επίσης από τον διακομιστή μεσολάβησης SOCKS. Εάν χρησιμοποιείτε διακομιστή μεσολάβησης για την κρυπτογράφηση της κυκλοφορίας ιστού στο τοπικό σας δίκτυο, τότε πιθανότατα θα θέλετε να ορίσετε αυτήν την επιλογή έτσι ώστε τα ερωτήματα DNS να διοχετεύονται μέσω της σύνδεσης SSH.
Ενεργοποίηση διακομιστή μεσολάβησης κάλτσες στο Chrome
Η εκτέλεση του Chrome με ορισμένες επιλογές γραμμής εντολών θα ενεργοποιήσει τον διακομιστή μεσολάβησης κάλτσες καθώς και τη διοχέτευση αιτημάτων DNS από το πρόγραμμα περιήγησης. Εμπιστευτείτε αλλά ελέγξτε. Χρήση tcpdump για να ελέγξετε ότι τα αιτήματα DNS δεν είναι πλέον ορατά.
Λάβετε υπόψη ότι πολλές άλλες εφαρμογές μπορούν επίσης να χρησιμοποιούν socks proxies. Το πρόγραμμα περιήγησης ιστού είναι απλώς το πιο δημοφιλές από όλα. Ορισμένες εφαρμογές έχουν επιλογές διαμόρφωσης για την ενεργοποίηση ενός διακομιστή μεσολάβησης. Άλλοι χρειάζονται λίγη βοήθεια με ένα βοηθητικό πρόγραμμα. Για παράδειγμα, proxychains σας επιτρέπει να εκτελέσετε μέσω socks-proxy Microsoft RDP, κ.λπ.
Οι παράμετροι διαμόρφωσης διακομιστή μεσολάβησης κάλτσες ορίζονται στο αρχείο διαμόρφωσης των αλυσίδων μεσολάβησης.
Συμβουλή: εάν χρησιμοποιείτε απομακρυσμένη επιφάνεια εργασίας από Linux σε Windows; Δοκιμάστε το Client FreeRDP. Αυτή είναι μια πιο σύγχρονη εφαρμογή από rdesktop, με πολύ πιο ομαλή αλληλεπίδραση.
Επιλογή χρήσης SSH μέσω διακομιστή μεσολάβησης κάλτσες
Κάθεστε σε ένα καφέ ή ξενοδοχείο - και αναγκάζεστε να χρησιμοποιήσετε μάλλον αναξιόπιστο WiFi. Από τον φορητό υπολογιστή, εκκινούμε έναν διακομιστή μεσολάβησης ssh τοπικά και ρυθμίζουμε μια σήραγγα ssh στο οικιακό δίκτυο στο τοπικό Rasberry Pi. Χρησιμοποιώντας ένα πρόγραμμα περιήγησης ή άλλες εφαρμογές που έχουν διαμορφωθεί για διακομιστή μεσολάβησης κάλτσες, μπορούμε να έχουμε πρόσβαση σε οποιεσδήποτε υπηρεσίες δικτύου στο οικιακό μας δίκτυο ή να συνδεθούμε στο διαδίκτυο μέσω της οικιακής μας σύνδεσης. Τα πάντα μεταξύ του φορητού υπολογιστή σας και του διακομιστή του σπιτιού σας (μέσω Wi-Fi και Διαδικτύου στο σπίτι σας) είναι κρυπτογραφημένα σε μια σήραγγα SSH.
2. σήραγγα SSH (προώθηση θύρας)
Στην απλούστερη μορφή του, μια σήραγγα SSH απλώς ανοίγει μια θύρα στο τοπικό σας σύστημα που συνδέεται με μια διαφορετική θύρα στο άλλο άκρο της σήραγγας.
Ας αναλύσουμε την παράμετρο -L. Μπορεί να θεωρηθεί ως η τοπική πλευρά ακρόασης. Έτσι, στο παραπάνω παράδειγμα, η θύρα 9999 ακούει από την πλευρά του localhost και προωθείται στη θύρα 80 στον απομακρυσμένο διακομιστή. Σημειώστε ότι το 127.0.0.1 αναφέρεται σε localhost στον απομακρυσμένο διακομιστή!
Ας ανεβούμε τις σκάλες. Το ακόλουθο παράδειγμα συνδέει τις θύρες ακρόασης με άλλους κεντρικούς υπολογιστές στο τοπικό δίκτυο.
Σε αυτά τα παραδείγματα, συνδέουμε μια θύρα του διακομιστή web, αλλά αυτή θα μπορούσε να είναι ένας διακομιστής μεσολάβησης ή οποιαδήποτε άλλη υπηρεσία TCP.
3. Σήραγγα SSH σε κεντρικό υπολογιστή τρίτου μέρους
Μπορούμε να χρησιμοποιήσουμε τις ίδιες επιλογές για τη διέλευση από έναν απομακρυσμένο διακομιστή σε μια άλλη υπηρεσία που εκτελείται σε ένα τρίτο σύστημα.
Σε αυτό το παράδειγμα, προωθούμε μια σήραγγα από απομακρυσμένο διακομιστή σε διακομιστή ιστού που εκτελείται στις 10.10.10.10. Κυκλοφορία από απομακρυσμένο διακομιστή έως 10.10.10.10 όχι πλέον στη σήραγγα SSH. Ο διακομιστής ιστού στις 10.10.10.10 θα θεωρήσει ότι ο απομακρυσμένος διακομιστής είναι η πηγή των αιτημάτων Ιστού.
4. Αντίστροφη σήραγγα SSH
Εδώ θα ρυθμίσουμε μια θύρα ακρόασης στον απομακρυσμένο διακομιστή που θα συνδέεται ξανά σε μια τοπική θύρα του τοπικού μας κεντρικού υπολογιστή (ή άλλου συστήματος).
Αυτή η συνεδρία SSH δημιουργεί μια σύνδεση από τη θύρα 1999 στον απομακρυσμένο διακομιστή στη θύρα 902 στον τοπικό πελάτη μας.
5. SSH Reverse Proxy
Σε αυτήν την περίπτωση, ρυθμίζουμε ένα socks proxy στη σύνδεσή μας ssh, ωστόσο ο διακομιστής μεσολάβησης ακούει στο απομακρυσμένο άκρο του διακομιστή. Οι συνδέσεις σε αυτόν τον απομακρυσμένο διακομιστή μεσολάβησης βγαίνουν τώρα από τη σήραγγα ως κίνηση από τον τοπικό μας κεντρικό υπολογιστή.
Εάν αντιμετωπίζετε προβλήματα με τη λειτουργία των επιλογών απομακρυσμένου SSH, επικοινωνήστε με netstat, σε ποιες άλλες διεπαφές είναι συνδεδεμένη η θύρα ακρόασης. Αν και υποδείξαμε 0.0.0.0 στα παραδείγματα, αλλά αν η τιμή GatewayPorts в sshd_config οριστεί σε Όχι., τότε ο ακροατής θα δεσμευτεί μόνο στον localhost (127.0.0.1).
Προειδοποίηση ασφαλείας
Λάβετε υπόψη ότι όταν ανοίγετε σήραγγες και κάλτσες μεσολάβησης, οι εσωτερικοί πόροι δικτύου ενδέχεται να είναι διαθέσιμοι σε αναξιόπιστα δίκτυα (για παράδειγμα, το Διαδίκτυο!). Αυτό μπορεί να είναι σοβαρός κίνδυνος για την ασφάλεια, επομένως βεβαιωθείτε ότι καταλαβαίνετε τι είναι ένας ακροατής και σε τι έχει πρόσβαση.
6. Εγκαταστήστε το VPN μέσω SSH
Ένας κοινός όρος μεταξύ των επιτιθέμενων (pentesters, κ.λπ.) είναι το "δίκτυο υπομόχλιο". Μόλις δημιουργηθεί μια σύνδεση σε ένα σύστημα, αυτό το σύστημα γίνεται η πύλη για περαιτέρω πρόσβαση στο δίκτυο. Ένα υπομόχλιο που σας επιτρέπει να κινηθείτε σε πλάτος.
Για μια τέτοια βάση, μπορούμε να χρησιμοποιήσουμε έναν διακομιστή μεσολάβησης SSH και proxychains, ωστόσο υπάρχουν κάποιοι περιορισμοί. Για παράδειγμα, δεν θα είναι δυνατή η απευθείας εργασία με πρίζες, επομένως δεν θα μπορούμε να σαρώνουμε θύρες εντός του δικτύου μέσω NmapSYN.
Χρησιμοποιώντας αυτήν την πιο προηγμένη επιλογή VPN, η σύνδεση πέφτει σε επίπεδο 3. Στη συνέχεια, μπορούμε απλώς να δρομολογήσουμε την κυκλοφορία μέσω της σήραγγας χρησιμοποιώντας τυπική δρομολόγηση δικτύου.
Η μέθοδος χρησιμοποιεί ssh, iptables, tun interfaces και δρομολόγηση.
Πρώτα πρέπει να ορίσετε αυτές τις παραμέτρους sshd_config. Δεδομένου ότι πραγματοποιούμε αλλαγές στις διεπαφές τόσο του απομακρυσμένου συστήματος όσο και του συστήματος πελάτη, εμείς χρειάζονται δικαιώματα root και στις δύο πλευρές.
PermitRootLogin yes
PermitTunnel yes
Στη συνέχεια, θα δημιουργήσουμε μια σύνδεση ssh χρησιμοποιώντας την παράμετρο που ζητά την προετοιμασία των συσκευών tun.
localhost:~# ssh -v -w any root@remoteserver
Θα πρέπει τώρα να έχουμε μια συσκευή συντονισμού κατά την εμφάνιση διεπαφών (# ip a). Το επόμενο βήμα θα προσθέσει διευθύνσεις IP στις διεπαφές της σήραγγας.
Πλευρά πελάτη SSH:
localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up
Πλευρά διακομιστή SSH:
remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up
Τώρα έχουμε μια απευθείας διαδρομή προς έναν άλλο οικοδεσπότη (route -n и ping 10.10.10.10).
Είναι δυνατή η δρομολόγηση οποιουδήποτε υποδικτύου μέσω του κεντρικού υπολογιστή στην άλλη πλευρά.
localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0
Στην απομακρυσμένη πλευρά, ενεργοποιήστε ip_forward и iptables.
Κεραία! VPN μέσω σήραγγας SSH στο επίπεδο δικτύου 3. Αυτό είναι ήδη μια νίκη.
Εάν υπάρχουν προβλήματα, χρησιμοποιήστε tcpdump и pingγια να προσδιοριστεί η αιτία. Δεδομένου ότι παίζουμε στο επίπεδο 3, τα πακέτα icmp μας θα περάσουν από αυτό το τούνελ.
7. Αντιγράψτε το κλειδί SSH (ssh-copy-id)
Υπάρχουν διάφοροι τρόποι για να γίνει αυτό, αλλά αυτή η εντολή εξοικονομεί χρόνο μη αντιγράφοντας τα αρχεία με μη αυτόματο τρόπο. Απλώς αντιγράφει το ~/.ssh/id_rsa.pub (ή το προεπιλεγμένο κλειδί) από το σύστημά σας στο ~/.ssh/authorized_keys σε έναν απομακρυσμένο διακομιστή.
ομάδα ssh μπορεί να συνδεθεί με άλλες εντολές για τη συνηθισμένη φιλική προς το χρήστη διεπαφή. Απλώς προσθέστε την εντολή που θέλετε να εκτελέσετε στον απομακρυσμένο κεντρικό υπολογιστή ως τελευταία παράμετρο σε εισαγωγικά.
Σε αυτό το παράδειγμα grep εκτελείται στο τοπικό σύστημα μετά τη λήψη του αρχείου καταγραφής μέσω του καναλιού ssh. Εάν το αρχείο είναι μεγάλο, είναι πιο βολικό να εκτελεστεί grep στην απομακρυσμένη πλευρά, απλώς περικλείοντας και τις δύο εντολές σε διπλά εισαγωγικά.
Ένα άλλο παράδειγμα εκτελεί την ίδια λειτουργία με ssh-copy-id από το παράδειγμα 7.
9. Απομακρυσμένη λήψη πακέτων και προβολή Wireshark
Πήρα ένα δικό μας Παραδείγματα tcpdump. Χρησιμοποιήστε το για να καταγράψετε πακέτα εξ αποστάσεως και να επιστρέψετε το αποτέλεσμα απευθείας στο γραφικό περιβάλλον του τοπικού σας Wireshark.
:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
10. Αντιγραφή τοπικού φακέλου σε απομακρυσμένο διακομιστή μέσω SSH
Ένα ωραίο κόλπο που συμπιέζει ένα φάκελο με bzip2 (αυτή είναι η επιλογή -j στην εντολή tar) και στη συνέχεια φέρνει τη ροή bzip2 στην άλλη πλευρά, δημιουργώντας έναν διπλότυπο φάκελο στον απομακρυσμένο διακομιστή.
11. Απομακρυσμένες εφαρμογές GUI με προώθηση SSH X11
Εάν τόσο ο πελάτης όσο και ο απομακρυσμένος διακομιστής έχουν εγκαταστήσει το "x", τότε μπορείτε να εκτελέσετε εξ αποστάσεως μια εντολή GUI, με ένα παράθυρο στην τοπική επιφάνεια εργασίας σας. Αυτή η δυνατότητα υπάρχει εδώ και πολύ καιρό, αλλά εξακολουθεί να είναι πολύ χρήσιμη. Εκκινήστε ένα απομακρυσμένο πρόγραμμα περιήγησης ιστού ή ακόμα και μια κονσόλα VMWawre Workstation όπως κάνω σε αυτό το παράδειγμα.
localhost:~$ ssh -X remoteserver vmware
Απαιτείται συμβολοσειρά X11Forwarding yes στο αρχείο sshd_config.
12. Απομακρυσμένη αντιγραφή αρχείων χρησιμοποιώντας rsync και SSH
rsync πολύ πιο βολικό scpεάν χρειάζεστε περιοδικό αντίγραφο ασφαλείας ενός καταλόγου, μεγάλου αριθμού αρχείων ή πολύ μεγάλων αρχείων. Υπάρχει μια λειτουργία για ανάκτηση από μια αποτυχία μεταφοράς και αντιγραφή μόνο αλλαγμένων αρχείων, η οποία εξοικονομεί κίνηση και χρόνο.
Αυτό το παράδειγμα χρησιμοποιεί συμπίεση gzip (-z) και λειτουργία αρχειοθέτησης (-a), η οποία επιτρέπει την αναδρομική αντιγραφή.
Το ανώνυμο δίκτυο Tor μπορεί να διοχετεύσει την κυκλοφορία SSH με την εντολή torsocks. Η ακόλουθη εντολή θα στείλει έναν διακομιστή μεσολάβησης ssh μέσω του Tor.
Κορμούς θα χρησιμοποιήσει τη θύρα 9050 στο localhost για τον διακομιστή μεσολάβησης. Όπως πάντα όταν χρησιμοποιείτε το Tor, πρέπει να ελέγχετε σοβαρά ποια κίνηση διοχετεύεται και άλλα ζητήματα λειτουργικής ασφάλειας (opsec). Πού πηγαίνουν τα αιτήματά σας DNS;
14. Περίπτωση SSH σε EC2
Απαιτείται ένα ιδιωτικό κλειδί για τη σύνδεση σε μια παρουσία EC2. Κατεβάστε το (επέκταση .pem) από τον πίνακα ελέγχου του Amazon EC2 και αλλάξτε τα δικαιώματα (chmod 400 my-ec2-ssh-key.pem). Κρατήστε το κλειδί σε ασφαλές μέρος ή βάλτε το στον φάκελό σας ~/.ssh/.
Παράμετρος -i απλά λέει στον πελάτη ssh να χρησιμοποιήσει αυτό το κλειδί. Αρχείο ~/.ssh/config ιδανικό για αυτόματη διαμόρφωση της χρήσης κλειδιού κατά τη σύνδεση σε έναν κεντρικό υπολογιστή ec2.
Host my-ec2-public
Hostname ec2???.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/my-ec2-key.pem
15. Επεξεργαστείτε αρχεία κειμένου με VIM μέσω ssh/scp
Για όλους τους ερωτευμένους vim αυτή η συμβουλή θα σας εξοικονομήσει λίγο χρόνο. Με τη χρήση vim τα αρχεία επεξεργάζονται μέσω scp με μία εντολή. Αυτή η μέθοδος δημιουργεί απλώς το αρχείο τοπικά /tmp, και μετά το αντιγράφει ξανά μόλις το αποθηκεύσουμε από vim.
localhost:~$ vim scp://user@remoteserver//etc/hosts
Σημείωση: η μορφή είναι ελαφρώς διαφορετική από τη συνηθισμένη scp. Μετά τον οικοδεσπότη έχουμε διπλό //. Αυτή είναι μια απόλυτη αναφορά διαδρομής. Μια μεμονωμένη κάθετο θα σημαίνει ότι η διαδρομή είναι σχετική με τον αρχικό φάκελο users.
Εάν δείτε αυτό το σφάλμα, ελέγξτε ξανά τη μορφή της εντολής. Αυτό συνήθως σημαίνει συντακτικό σφάλμα.
16. Τοποθετήστε το απομακρυσμένο SSH ως τοπικό φάκελο με SSHFS
Μέσω sshfs - πελάτης συστήματος αρχείων ssh - μπορούμε να προσαρτήσουμε έναν τοπικό κατάλογο σε μια απομακρυσμένη τοποθεσία με όλες τις αλληλεπιδράσεις αρχείων σε μια κρυπτογραφημένη περίοδο λειτουργίας ssh.
localhost:~$ apt install sshfs
Εγκαταστήστε το πακέτο σε Ubuntu και Debian sshfsκαι, στη συνέχεια, απλώς προσαρτήστε την απομακρυσμένη τοποθεσία στο σύστημά μας.
Από προεπιλογή, εάν υπάρχει μια υπάρχουσα σύνδεση με έναν απομακρυσμένο διακομιστή χρησιμοποιώντας ssh δεύτερη σύνδεση με ssh ή scp δημιουργεί μια νέα περίοδο λειτουργίας με πρόσθετο έλεγχο ταυτότητας. Επιλογή ControlPath σας επιτρέπει να χρησιμοποιήσετε μια υπάρχουσα συνεδρία για όλες τις επόμενες συνδέσεις. Αυτό θα επιταχύνει σημαντικά τη διαδικασία: το αποτέλεσμα είναι αισθητό ακόμη και στο τοπικό δίκτυο, και ακόμη περισσότερο όταν συνδέεται σε απομακρυσμένους πόρους.
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
Το ControlPath καθορίζει την υποδοχή για νέες συνδέσεις για έλεγχο για ενεργή περίοδο λειτουργίας ssh. Η τελευταία επιλογή σημαίνει ότι ακόμα και μετά την αποσύνδεση από την κονσόλα, η υπάρχουσα συνεδρία θα παραμείνει ανοιχτή για 10 λεπτά, οπότε κατά τη διάρκεια αυτού του χρόνου μπορείτε να συνδεθείτε ξανά στην υπάρχουσα πρίζα. Δείτε τη βοήθεια για περισσότερες πληροφορίες. ssh_config man.
18. Ροή βίντεο μέσω SSH με VLC και SFTP
Ακόμα και μακροχρόνιοι χρήστες ssh и vlc (Video Lan Client) δεν γνωρίζουν πάντα αυτήν τη βολική επιλογή όταν χρειάζεται πραγματικά να παρακολουθήσετε βίντεο μέσω του δικτύου. Στις ρυθμίσεις αρχείο | Ανοίξτε τη ροή δικτύου προγράμματα vlc μπορείτε να εισαγάγετε την τοποθεσία ως sftp://. Εάν απαιτείται κωδικός πρόσβασης, θα σας ζητηθεί.
sftp://remoteserver//media/uploads/myvideo.mkv
19. Έλεγχος ταυτότητας δύο παραγόντων
Ο ίδιος έλεγχος ταυτότητας δύο παραγόντων με τον τραπεζικό λογαριασμό ή τον λογαριασμό σας Google ισχύει για την υπηρεσία SSH.
Φυσικά, ssh έχει αρχικά μια λειτουργία ελέγχου ταυτότητας δύο παραγόντων, που σημαίνει έναν κωδικό πρόσβασης και ένα κλειδί SSH. Το πλεονέκτημα ενός διακριτικού υλικού ή μιας εφαρμογής Google Authenticator είναι ότι είναι συνήθως μια διαφορετική φυσική συσκευή.
Εάν η τμηματοποίηση δικτύου απαιτεί να μεταβείτε σε πολλούς κεντρικούς υπολογιστές ssh για να φτάσετε στο τελικό δίκτυο προορισμού σας, η συντόμευση -J θα σας εξοικονομήσει χρόνο.
Το κύριο πράγμα εδώ είναι να καταλάβουμε ότι αυτό δεν είναι παρόμοιο με την εντολή ssh host1τότε user@host1:~$ ssh host2 Η επιλογή -J χρησιμοποιεί έξυπνα την προώθηση για να έχει ο localhost να δημιουργήσει μια συνεδρία με τον επόμενο κεντρικό υπολογιστή στην αλυσίδα. Έτσι, στο παραπάνω παράδειγμα, ο localhost μας ελέγχει την ταυτότητα του host4. Δηλαδή, χρησιμοποιούνται τα κλειδιά localhost μας και η περίοδος σύνδεσης από τον localhost στον host4 είναι πλήρως κρυπτογραφημένη.
Για μια τέτοια ευκαιρία ssh_config καθορίστε την επιλογή διαμόρφωσης ProxyJump. Εάν πρέπει να περνάτε τακτικά από πολλούς κεντρικούς υπολογιστές, τότε η αυτοματοποίηση μέσω της διαμόρφωσης θα εξοικονομήσει πολύ χρόνο.
21. Αποκλεισμός προσπαθειών brute force SSH με iptables
Όποιος έχει διαχειριστεί μια υπηρεσία SSH και κοίταξε τα αρχεία καταγραφής γνωρίζει τον αριθμό των προσπαθειών ωμής βίας που συμβαίνουν κάθε ώρα της ημέρας. Ένας γρήγορος τρόπος για να μειώσετε το θόρυβο καταγραφής είναι να μετακινήσετε το SSH σε μια μη τυπική θύρα. Κάντε αλλαγές στο αρχείο sshd_config χρησιμοποιώντας μια επιλογή διαμόρφωσης Λιμάνι##.
Με iptables Μπορείτε επίσης να αποκλείσετε εύκολα τις προσπάθειες σύνδεσης σε μια θύρα όταν επιτευχθεί ένα συγκεκριμένο όριο. Ένας εύκολος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε OSSEC, καθώς όχι μόνο αποκλείει το SSH, αλλά εκτελεί μια δέσμη άλλων μέτρων ανίχνευσης εισβολής βάσει ονόματος κεντρικού υπολογιστή (HIDS).
22. SSH Escape για αλλαγή θύρας προώθησης
Και το τελευταίο μας παράδειγμα ssh έχει σχεδιαστεί για να αλλάζει την προώθηση θύρας εν κινήσει μέσα σε μια υπάρχουσα συνεδρία ssh. Φανταστείτε ένα τέτοιο σενάριο. Είστε βαθιά στον Ιστό. πιθανώς ξεπέρασε μισή ντουζίνα κεντρικούς υπολογιστές και χρειάζεται μια τοπική θύρα στο σταθμό εργασίας που προωθείται στο Microsoft SMB ενός παλιού συστήματος Windows 2003 (θυμάται κανείς το ms08-67;).
Κάνοντας κλικ enter, δοκιμάστε να πληκτρολογήσετε στην κονσόλα ~C. Αυτή είναι μια ακολουθία διαφυγής περιόδου λειτουργίας που σας επιτρέπει να κάνετε αλλαγές σε μια υπάρχουσα σύνδεση.
Εδώ μπορείτε να δείτε ότι έχουμε προωθήσει την τοπική μας θύρα 1445 σε έναν κεντρικό υπολογιστή των Windows 2003 που βρήκαμε στο εσωτερικό δίκτυο. Τώρα απλά τρέξε msfconsole, και είστε έτοιμοι (υποθέτοντας ότι σκοπεύετε να χρησιμοποιήσετε αυτόν τον κεντρικό υπολογιστή).
Ολοκλήρωση
Αυτά τα παραδείγματα, συμβουλές και εντολές ssh πρέπει να δώσει ένα σημείο εκκίνησης? Πρόσθετες πληροφορίες για καθεμία από τις εντολές και τις δυνατότητες είναι διαθέσιμες στις σελίδες man (man ssh, man ssh_config, man sshd_config).
Πάντα με γοήτευε η δυνατότητα πρόσβασης σε συστήματα και εκτέλεσης εντολών οπουδήποτε στον κόσμο. Αναπτύξτε τις δεξιότητές σας με εργαλεία όπως ssh θα γίνετε πιο αποτελεσματικοί σε όποιο παιχνίδι παίζετε.