Δημιουργία απομακρυσμένου καταλόγου ssh στο Nautilus. Πώς να χρησιμοποιήσετε το πρωτόκολλο SSH στο Ubuntu: εγκατάσταση και διαμόρφωση.

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

Πώς να εγκαταστήσετε το διακομιστή στο Ubuntu

Το γεγονός είναι ότι από προεπιλογή στο λειτουργικό σύστημα  Το πρόγραμμα-πελάτης Ubuntu είναι ήδη εγκατεστημένο. Επομένως, το κύριο πράγμα είναι η εγκατάσταση του προγράμματος OpenSSH του διακομιστή στον υπολογιστή και η επακόλουθη διαμόρφωση του. Για να εγκαταστήσετε ένα διακομιστή, ανοίξτε ένα τερματικό και εισάγετε τη γραμμή: sudo apt-get install openssh-server. Μετά από αυτό, το Ubuntu θα σας ζητήσει έναν κωδικό πρόσβασης - επιβεβαιώστε το. Όταν ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί ένα μήνυμα σχετικά με την επιτυχή εγκατάσταση. Ως αποτέλεσμα, ο διακομιστής θα εγκατασταθεί το OpenSSH. Αυτό το πρόγραμμα βρίσκεται στις διανομές του Ubuntu από προεπιλογή, επειδή ο διακομιστής OpenSSH είναι πολύ δημοφιλής στους χρήστες αυτού του λειτουργικού συστήματος.

Ρύθμιση διακομιστή SSH στο Ubuntu

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

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

Ο τρόπος με τον οποίο ο διακομιστής θα λειτουργήσει, γράφεται στη διαμόρφωση του αρχείου ρυθμίσεων. Συγκεκριμένα, διευκρινίζει τις απαιτήσεις που πρέπει να πληροί ο πελάτης προκειμένου να περάσει από την προστασία SSH. Για να ξεκινήσετε είναι να καθορίσετε τον χρήστη μέσω του οποίου θα διαχειριστείτε το σύστημα. Ο προεπιλεγμένος χρήστης είναι root. Αλλά αφήνοντας αυτή τη ρύθμιση ως τέτοια δεν είναι ασφαλής - ο χρήστης ρίζας έχει πάρα πολλά δικαιώματα και μπορεί να βλάψει τυχαία το σύστημα, επειδή είναι καλύτερο να μην τον συνδέσετε στο διακομιστή.

Πρέπει να εγκαταστήσετε ξανά έναν άλλο λογαριασμό χρήστη στο διακομιστή, ώστε να μπορείτε να χρησιμοποιήσετε με ασφάλεια έναν άλλο υπολογιστή μέσω SSH. Για να το κάνετε αυτό, θα πρέπει να προσθέσετε έναν άλλο χρήστη αντί για root χρησιμοποιώντας γραμμή εντολών: όνομα χρήστη adduser. Αλλά αυτό δεν είναι αρκετό - τελικά, μερικές φορές θα χρειαστείτε τον χρήστη root. Στη συνέχεια, κάντε το πρόσθετο χρήστη μισό ως super-admin έτσι ώστε να μπορέσει να λάβει προσωρινά δικαιώματα root. Για να το κάνετε αυτό, συνδεθείτε ως root και καταχωρήστε την ακόλουθη γραμμή: gpasswd -a username sudo. Αυτό θα προσθέσει έναν νέο χρήστη στην ομάδα χρηστών sudo με το υψηλότερο επίπεδο πρόσβασης.

Αν σχεδιάζετε να δημιουργήσετε έναν δημόσιο εξυπηρετητή χρησιμοποιώντας SSH και κανένας πελάτης δεν θα συνδεθεί στον υπολογιστή, τότε είναι προτιμότερο να αφαιρέσετε τον χρήστη root. Αν είστε σίγουροι για τις ικανότητές σας και δεν σχεδιάζετε να δημοσιεύσετε έναν κεντρικό υπολογιστή, τότε μπορείτε να κάνετε τον πελάτη έναν σούπερ διαχειριστή και να τον προστατεύσετε με έναν κωδικό πρόσβασης. Αλλά μερικές φορές μετά από αυτό το μήνυμα σφάλματος εμφανίζεται: η πρόσβαση δεν επιτρέπεται. Η πρόσβαση στην επιγραφή που απορρίφθηκε αφού επιχειρήσατε να συνδεθείτε στο λογαριασμό superuser εισάγοντας έναν κωδικό πρόσβασης ενδέχεται να υποδηλώνει κάποιο είδος αντίφασης στο αρχείο ρυθμίσεων διαμόρφωσης.

Για να αποτρέψετε την άρνηση της πρόσβασης, θα πρέπει να εξετάσετε προσεκτικά αν τα πάντα είναι σωστά στις ρυθμίσεις. Ο πιο συνηθισμένος λόγος για τον οποίο εμφανίζεται η άρνηση πρόσβασης είναι να ενεργοποιήσετε την επιλογή εξουσιοδότησης κωδικού πρόσβασης τόσο για τους κανονικούς χρήστες όσο και για τους root. Για να καταργήσετε την πρόσβαση που δεν επιτρέπεται, αλλάξτε το PermitRootLogin αντί για ναι χωρίς κωδικό πρόσβασης. Και στη συνέχεια γράψτε PermitRootLogin ναι. Στη συνέχεια, κάντε επανεκκίνηση του διακομιστή (υπηρεσία ssh επανεκκίνηση) και η άρνηση πρόσβασης στο μήνυμα θα εξαφανιστεί τελικά.

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

Για να μπείτε στο διακομιστή επιβεβαιώνοντας το δημόσιο κλειδί, πρέπει πρώτα να το δημιουργήσετε. Στο Ubuntu, είναι πολύ βολικό να δημιουργήσετε κλειδιά, αφού δεν χρειάζεται να κάνετε λήψη πρόσθετα προγράμματα  - αρκεί να σκοράρει στο τερματικό ssh-keygen. Στη συνέχεια, εμφανίζεται ένα μήνυμα με πληροφορίες σχετικά με την τοποθεσία του παραγόμενου κλειδιού. Θα βρίσκεται στον φάκελο .ssh. Μετά από αυτό, το σύστημα θα σας ζητήσει έναν κωδικό πρόσβασης, αλλά συνιστάται να το αφήσετε κενό - διαφορετικά θα τον εισάγετε κάθε φορά που εκτελείτε οποιαδήποτε ενέργεια.

Το επόμενο βήμα είναι να προσθέσετε το παραγόμενο δημόσιο κλειδί στη λίστα αξιόπιστων στον διακομιστή. Πρώτα πρέπει να αντιγράψετε το δημόσιο κλειδί. Βρίσκεται στο αρχείο .pub στο φάκελο .ssh. Αντιγράψτε το και μεταβείτε στο διακομιστή. Ο διακομιστής θα πρέπει επίσης να έχει φάκελο .ssh. Εάν δεν υπάρχει, θα πρέπει να το δημιουργήσετε μόνοι σας. Και στη συνέχεια, χρησιμοποιώντας τον πρότυπο επεξεργαστή κειμένου, δημιουργήστε το αρχείο authorized_keys. Εδώ θα χρειαστεί να βάλετε το δημόσιο κλειδί. Μετά από αυτό θα μπορείτε να εισέλθετε στο διακομιστή χωρίς καμία επιβεβαίωση. Ο έλεγχος ταυτότητας θα πραγματοποιηθεί σε αυτόματο τρόπο λειτουργίας φόντου, το οποίο είναι πολύ βολικό και ασφαλές ταυτόχρονα.

Σε γενικές γραμμές, αυτό είναι όπου η ρύθμιση του πρωτοκόλλου SSH τελειώνει! Εκτός αν μπορείτε να αλλάξετε τη θύρα 22 σε άλλη.

Για τον εξυπηρετητή ssh, καθώς και τον client ssh, θα χρησιμοποιήσουμε το πασίγνωστο πακέτο OpenSSH.

Εγκατάσταση

Εγκαταστήστε το OpenSSH με την εντολή:

sudo apt εγκαταστήσετε ssh

Ρύθμιση διακομιστή

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

sudo υπηρεσία ssh διακοπή | έναρξη | επανεκκίνηση

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

Ένα παράδειγμα διαμόρφωσης διακομιστή SSH στο Ubuntu 16.04:

# Τι είναι οι θυρίδες, οι διευθύνσεις IP και τα πρωτόκολλα που ακούμε στο Port 22 # "any" - οποιοδήποτε # # "inet" (μόνο IPv4) # # "inet6" (μόνο IPv6) # AddressFamily inet # # δεν καθορίζετε και ακούτε όλες τις διευθύνσεις. #ListenAddress :: #ListenAddress 0.0.0.0 # πρωτόκολλο που θα τρέξει SSH (rekomenduestya δεύτερη) Πρωτόκολλο # 2 Καθορίζει το αρχείο που περιέχει το ιδιωτικό κλειδί κόμβου για την έκδοση του πρωτοκόλλου 2 hostkey ψήφισμα / etc / ssh / ssh_host_rsa_key #HostKey / etc / ssh / ssh_host_dsa_key #HostKey / etc / ssh / ssh_host_ecdsa_key #HostKey / etc / ssh / ssh_host_ed25519_key # Διαχωρισμός των προνομίων περιλαμβάνονται UsePrivilegeSeparation ασφάλεια ναι προσδόκιμο # ζωής και το μέγεθος των βασικών bits για την έκδοση του πρωτοκόλλου 1 #KeyRegenerationInterval 3600 #ServerKeyBits 1024 # Καταγραφή # DAEMON # # # # ΧΡΗΣΤΗ ΑΠΘ # # local0 # # Το σύστημα Local1 # # Local2 # # LOCAL3 # # LOCAL4 # # LOCAL5 # # LOCAL6 # # LOCAL7 # SyslogFacility ΑΠΘ # SILENT # # ΗΣΥΧΗ # # FATAL # # ΛΑΘΟΣ # # INFO # # VERBOSE # # DEBUG # # DEBUG1 # # DEBUG2 # # DEBUG3 # LogL evel INFO # Έλεγχος ταυτότητας: LoginGraceTime 45 # Απαγορεύει ή απαγορεύει την πρόσβαση των root στο χρήστη. # "Ναι" - ο υπερ-χρήστης μπορεί να συνδεθεί. # Εφαρμόζεται το τρέχον σφαιρικό σύστημα ελέγχου ταυτότητας. # "Χωρίς κωδικό πρόσβασης" - ο υπερ-χρήστης μπορεί να συνδεθεί. # Ο έλεγχος ταυτότητας με κωδικό πρόσβασης θα απενεργοποιηθεί. # "Forced-commands-only" - ο υπερ-χρήστης θα μπορεί να συνδεθεί, # χρησιμοποιώντας τον έλεγχο ταυτότητας με βάση το δημόσιο κλειδί και # μόνο αν μεταφέρει την απαραίτητη εντολή στην εκτέλεση. # Όλες οι άλλες μέθοδοι ελέγχου ταυτότητας για τον υπερχρήστη θα αποκλειστούν. # "Όχι" - ο υπερ-χρήστης δεν μπορεί να χρησιμοποιήσει ssh για σύνδεση. PermitRootLogin όχι StrictModes ναι # Δηλώνει εάν είναι ενεργοποιημένη η καθαρή πιστοποίηση RSA. # Πραγματικό μόνο για έκδοση πρωτοκόλλου 1. RSAAuthentication ναι # Χρήση ελέγχου ταυτότητας δημόσιου κλειδιού PubkeyAuthentication ναι # Καθορίζει το αρχείο που περιέχει τα δημόσια κλειδιά που χρησιμοποιούνται # για τον έλεγχο ταυτότητας χρηστών. # AuthorizedKeysFile% h / .ssh / authorized_keys # Αποτρέπει τη χρήση των αρχείων .rhosts και .shosts # # στη διαδικασία ελέγχου ταυτότητας με βάση την επαλήθευση κεντρικού υπολογιστή. IgnoreRhosts ναι # Για να λειτουργήσει θα πρέπει επίσης πλήκτρα υποδοχής στο / etc / ssh_known_hosts RhostsRSAAuthentication δεν # παρόμοιο για την έκδοση του πρωτοκόλλου 2 HostbasedAuthentication δεν # Καθορίζει αν sshd θα πρέπει να αγνοήσουμε το χρήστη # «γνωστοί κόμβοι» ~ / .ssh / known_hosts για RhostsRSAAuthentication #IgnoreUserKnownHosts ναι # περιλαμβάνει τον έλεγχο ταυτότητας σε ένα κενό κωδικό πρόσβασης (δεν συνιστάται) PermitEmptyPasswords δεν # Υποδεικνύει αν θα επιτρέψει τον τύπο ελέγχου ταυτότητας των ερωτήσεων και απαντήσεων ChallengeResponseAuthentication δεν # Υποδεικνύει αν PasswordAuthentication έλεγχο ταυτότητας μέσω κωδικού razreshina δεν # Kerberos επιλογή # Καθορίζει αν θα απαιτούν κωδικό πρόσβασης που παρέχεται # USER # αυτό για τον έλεγχο ταυτότητας #KerberosAuthentication δεν # Εάν AFS είναι ενεργή και ο χρήστης έχει λάβει το TGT Kerberos 5, # Μην προσπαθήσετε να πάρετε μια συμβολική AFS στο χρήστη # θα έχει πρόσβαση σε φάκελο στο σπίτι σας. # Η προεπιλογή είναι "όχι". #KerberosGetAFSToken no # Υποδεικνύει τι πρέπει να κάνετε αν αποτύχει ο έλεγχος ταυτότητας # μέσω του Kerberos. Εάν το # value = "yes" - ο κωδικός πρόσβασης θα ελεγχθεί χρησιμοποιώντας # οποιοδήποτε επιπλέον μηχανισμό τοπικής εξουσιοδότησης, για παράδειγμα - / etc / passwd. # Από προεπιλογή - "ναι". #KerberosOrLocalPasswd ναι # Υποδεικνύει εάν το αρχείο με το εισιτήριο # cache θα πρέπει να διαγραφεί αυτόματα μετά την ολοκλήρωση της περιόδου σύνδεσης. # Από προεπιλογή - "ναι". #KerberosTicketCleanup ναι # Επιλογές GSSAPI # Καθορίζει αν επιτρέπεται ο έλεγχος ταυτότητας χρήστη σε βάση # GSSAPI. Η προεπιλογή είναι "όχι" #GSSAPIAυποκλοπή ταυτότητας # Καθορίζει εάν θα γίνει αυτόματη #call τα διαπιστευτήρια ελέγχου ταυτότητας χρήστη κατά τον τερματισμό περιόδου σύνδεσης #. # Προεπιλογές για "ναι" #GSSAPICleanupCredentials ναι # Υποδεικνύει αν επιτρέπεται η ανακατεύθυνση υποσυστήματος γραφικών X11. # X11 Προώθηση ναι # Υποδεικνύει τον αριθμό της πρώτης οθόνης που είναι διαθέσιμο στο sshd στο # ως ανακατεύθυνση X11. # X11DisplayOffset 10 # Υποδεικνύει αν το sshd θα πρέπει να εμφανίζει πληροφορίες / etc / motd στην οθόνη όταν ένας χρήστης συνδεθεί διαδραστικά. PrintMotd no # Υποδεικνύει αν το sshd θα πρέπει να εμφανίζει την ημερομηνία και την ώρα # της τελευταίας περιόδου σύνδεσης όταν ο χρήστης συνδέεται αλληλεπιδραστικά. # Από προεπιλογή - "ναι". PrintLastLog Ναι # Υποδεικνύει εάν το σύστημα χρειάζεται να στείλει μηνύματα TCP στον πελάτη για να διατηρήσει τη σύνδεση. TCPKeepAlive ναι # Ορίζει τον αριθμό των μηνυμάτων στους υπολογιστές-πελάτες που στέλνει το sshd # σε μια σειρά χωρίς να λάβει καμία απάντηση από τον # πελάτη. Εάν επιτευχθεί το όριο και # ο πελάτης δεν αποκρίθηκε ποτέ, το sshd θα αποσυνδέσει τον πελάτη διακόπτοντας την περίοδο # ssh. #ClientAliveCountMax # Ορίζει το χρονικό διάστημα σε δευτερόλεπτα. Αν κατά τη διάρκεια αυτού του διαστήματος δεν υπήρχε ανταλλαγή δεδομένων με τον πελάτη, το sshd # στέλνει ένα μήνυμα σε ένα κρυπτογραφημένο κανάλι, # ζητώντας μια απάντηση από τον πελάτη. Η προεπιλογή είναι 0, δηλ. # μην στέλνετε τέτοια μηνύματα. Αυτή η οδηγία λειτουργεί # μόνο για το πρωτόκολλο ssh2. #ClientAliveInterval # Υποδεικνύει αν η σύνδεση θα πρέπει να χρησιμοποιηθεί για την # interactive session. Η προεπιλογή είναι "όχι". #UseLogin no # Καθορίζει το μέγιστο αριθμό ταυτόχρονων # μη εξουσιοδοτημένων συνδέσεων sshd. # Προαιρετικά, μπορείτε να ορίσετε μια πρόωρη επαναφορά των συνδέσεων #, ορίζοντας τρεις τιμές ως παράμετρο, χωρισμένες με # με το τετράγωνο "start: rate: full" (για παράδειγμα: "3:30:30"). # sshd θα απορρίψει μια προσπάθεια σύνδεσης με πιθανότητα # "rate / 100" (δηλ. στο παράδειγμά μας, 30%) αν # έχει ήδη "ξεκινήσει" (3) μη εξουσιοδοτημένες συνδέσεις. # Η πιθανότητα αυξάνεται γραμμικά και τυχόν προσπάθειες # συνδέσεων θα απορριφθούν αν ο αριθμός των μη εξουσιοδοτημένων συνδέσεων φτάσει στην τιμή "full" (30). # MaxStartups 3:30:30 # Υποδεικνύει ποιο αρχείο περιέχει ένα banner κειμένου που θα εμφανιστεί στον χρήστη ΠΡΙΝ τη διαδικασία # authentication. Η επιλογή είναι διαθέσιμη μόνο για το πρωτόκολλο ssh2. Banner /etc/issue.net # Επιτρέπεται στον πελάτη να μεταφέρει περιφερειακές μεταβλητές περιβάλλοντος AcceptEnv LANG LC_ * # Ορίζει και διαμορφώνει ένα εξωτερικό υποσύστημα (για παράδειγμα, # του daemon μεταφοράς αρχείων - δαίμονας μεταφοράς αρχείων). Υποσύστημα sftp / usr / lib / openssh / sftp-server # Ενεργοποίηση PAM περιβάλλον (ενότητα ταυτότητας Pluggable # interface) .Εάν οριστεί σε «ναι» - για όλους τους τύπους # ταυτότητας παράλληλα με τη σύνοδο μονάδα επεξεργασίας και ο λογαριασμός # ελέγχου ταυτότητας PAM θα ​​χρησιμοποιηθεί με βάση # αίτημα-απάντηση (ChallengeResponseAuthentication και # PasswordAuthentication) Επειδή Ο έλεγχος ταυτότητας # των απαντήσεων αιτήματος σε PAM συνήθως εκτελεί τον ίδιο ρόλο με τον έλεγχο ταυτότητας #, πρέπει να απενεργοποιήσετε είτε PasswordAuthentication είτε # ChallengeResponseAuthentication. Θα πρέπει να σημειωθεί ότι # εάν η οδηγία UsePAM είναι ενεργοποιημένη, δεν θα μπορείτε να εκτελέσετε το # sshd για λογαριασμό ενός χρήστη διαφορετικού από τον root. # Η προεπιλεγμένη τιμή είναι "όχι". UsePAM ναι

Μπορείτε να αντιγράψετε το παραπάνω κείμενο στο δικό σας sshd_config και να το χρησιμοποιήσετε αργότερα.

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

Port, ListenAddress και AddressFamily

Αυτές οι τρεις παράμετροι καθορίζουν ποιες θύρες και διευθύνσεις του διακομιστή σας θα περιμένουν τις εισερχόμενες συνδέσεις. Πρώτον, είναι λογικό, εάν είναι δυνατόν, να περιοριστεί η οικογένεια των επεξεργασμένων διευθύνσεων σε πραγματικά χρησιμοποιούμενες, δηλαδή εάν χρησιμοποιείτε μόνο IPv4, απενεργοποιήστε το IPv6 και αντίστροφα. Αυτό μπορεί να γίνει χρησιμοποιώντας την παράμετρο AddressFamily, για παράδειγμα (για να ενεργοποιήσετε το IPv4 και να απαγορεύσετε το IPv6):

Δεύτερον, είναι επιθυμητό να αλλάξετε την τυπική θύρα (22) στην οποία ακούει το sshd. Αυτό οφείλεται στο γεγονός ότι πολλοί σαρωτές δικτύου προσπαθούν συνεχώς να συνδεθούν με τη θύρα 22 και τουλάχιστον να αποκτήσουν πρόσβαση μεταβάλλοντας τα ονόματα χρήστη / τους κωδικούς πρόσβασης τους. Ακόμα κι αν έχετε απενεργοποιήσει τον έλεγχο ταυτότητας με κωδικό πρόσβασης, αυτές οι προσπάθειες θα φράξουν τα αρχεία καταγραφής και (σε ​​μεγάλους αριθμούς) μπορεί να επηρεάσουν αρνητικά την ταχύτητα του εξυπηρετητή ssh. Αν για κάποιο λόγο δεν θέλετε να αλλάξετε την τυπική θύρα, μπορείτε να χρησιμοποιήσετε διάφορα εξωτερικά βοηθητικά προγράμματα για να καταπολεμήσετε τους βίαιους forres, για παράδειγμα, fail2ban ή ενσωματωμένους, όπως το MaxStartups.
  Μπορείτε να ορίσετε μια θύρα ως απόλυτη τιμή για όλες τις διεπαφές χρησιμοποιώντας την οδηγία Port, καθώς και μια συγκεκριμένη τιμή για κάθε διεπαφή χρησιμοποιώντας την οδηγία ListenAddress.

Απαγόρευση απομακρυσμένης πρόσβασης για τον υπερχρήστη

Από προεπιλογή, η πρόσβαση root δεν επιτρέπεται από τον κωδικό πρόσβασης (με το κλειδί - είναι εφικτό) - η επιλογή PermitRootLogin έχει οριστεί σε χωρίς κωδικό πρόσβασης4). Όμως, με την προϋπόθεση ότι από προεπιλογή στο Ubuntu ο χρήστης που προστέθηκε κατά τη διάρκεια της εγκατάστασης του συστήματος έχει τη δυνατότητα να επιλύσει όλες τις διοικητικές εργασίες μέσω του sudo, για να δημιουργήσει τη δυνατότητα να καταργήσει την πρόσβαση στο σύστημα μέσω ssh - φαίνεται παράλογη (ακόμη και με τον κύριο έλεγχο ταυτότητας). Συνιστάται να απενεργοποιήσετε πλήρως. αυτής της επιλογής ή τη χρησιμοποιήστε μόνο σε λειτουργία αποκλειστικής εντολής.

Έλεγχος ταυτότητας με κωδικό πρόσβασης

Ο προεπιλεγμένος έλεγχος ταυτότητας με κωδικό είναι ουσιαστικά ο πιο πρωτόγονος τρόπος σύνδεσης στο sshd. Από τη μία πλευρά, απλοποιεί τη διαμόρφωση και τη σύνδεση των νέων χρηστών (ο χρήστης χρειάζεται μόνο να γνωρίζει το σύστημα σύνδεσης / κωδικό πρόσβασης), από την άλλη πλευρά, ο κωδικός πρόσβασης μπορεί πάντα να ληφθεί και οι χρήστες συχνά παραμελούν τη δημιουργία σύνθετων και μακρών κωδικών πρόσβασης. Ειδικά ρομπότ σαρώνουν συνεχώς τους διαθέσιμους διακομιστές ssh από το Internet και προσπαθούν να συνδεθούν σε αυτά με την κατάργηση ονομάτων χρήστη / κωδικών πρόσβασης από τη βάση δεδομένων τους. Δεν συνιστάται έντονα η χρήση του ελέγχου ταυτότητας με κωδικό πρόσβασης.

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

Πρωτόκολλα SSH1 και SSH2

Όπως ήδη αναφέρθηκε, το sshd μπορεί να λειτουργήσει με τα πρωτόκολλα SSH1 και SSH2. Ωστόσο, η χρήση μη ασφαλούς SSH1 είναι απογοητευτική. Κάντε το sshd να εργάζεται μόνο με ssh πρωτόκολλο2

Έλεγχος ταυτότητας με βάση κλειδιά SSH2 RSA

Η πλέον προτιμώμενη μέθοδος ελέγχου ταυτότητας είναι η πιστοποίηση κλειδιού RSA βασισμένη σε SSH2. Με αυτή τη μέθοδο, ο χρήστης παράγει από την πλευρά του ένα ζεύγος κλειδιών, εκ των οποίων το ένα κλειδί είναι μυστικό και το άλλο είναι δημόσιο. Το δημόσιο κλειδί αντιγράφεται στο διακομιστή και χρησιμεύει για την επαλήθευση της ταυτότητας του χρήστη. Για περισσότερες πληροφορίες σχετικά με τη δημιουργία ενός ζεύγους κλειδιών και τον τρόπο τοποθέτησής τους στο διακομιστή, ανατρέξτε στην περιγραφή του προγράμματος-πελάτη SSH.

SSH Client Configuration

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

Ssh-keygen

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

Ssh-copy-id-i ~ / .ssh / id_rsa.pub user_in_server @ server_address

Όλα, μπορείτε να πάτε.

Όταν το ssh εκτελείται σε μη τυπική θύρα:

Ssh-copy-id-i ~ / .ssh / id_rsa.pub -p your_port user_ on_server @ server_address

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

Οι αποχρώσεις της εργασίας με το πρωτόκολλο SSH στο Ubuntu.

Σε αυτό το άρθρο θα μιλήσουμε για το ασφαλές πρωτόκολλο σύνδεσης SSH, το οποίο πρόσφατα έγινε σχεδόν πρότυπο στο περιβάλλον Χρήστες Linux. Είναι πολύ αξιόπιστο επειδή υποστηρίζει την κρυπτογράφηση και είναι επίσης πολύ εύκολο να διαμορφωθεί. Θα εξετάσουμε τα χαρακτηριστικά του πρωτοκόλλου SSH, καθώς επίσης θα μάθουμε πώς να πραγματοποιούμε τις ρυθμίσεις διακομιστή και πελάτη. Το μόνο που θα απαιτηθεί από εσάς είναι η παρουσία ενός υπολογιστή με εγκατεστημένο λειτουργικό σύστημα Ubuntu και σύνδεση στο Internet.

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

Υπάρχουν πολλά βοηθητικά προγράμματα που είναι υπεύθυνα για τη διαχείριση του πρωτοκόλλου. Στο χειρουργείο Σύστημα Ubuntu Το πιο διάσημο είναι το Open SSH. Πρόκειται για ένα εντελώς δωρεάν προϊόν με ανοιχτή άδεια και πλήρες σύνολο των πλέον απαραίτητων λειτουργιών. Ο πελάτης για τη διαχείριση της σύνδεσης SSH περιλαμβάνεται ήδη στη διανομή του Ubuntu, απλά πρέπει να εγκαταστήσετε και να διαμορφώσετε τα στοιχεία του διακομιστή. Ο έλεγχος ασκείται μέσω εντολών στο τερματικό.


Εγκατάσταση SSH στο Ubuntu

Από το πρωτόκολλο SSH πελάτη  για τη διαχείριση του είναι ένα γενικά αποδεκτό πρότυπο, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας μια σύντομη εντολή στο τερματικό ubuntu. Για να το κάνετε αυτό, ξεκινήστε το ίδιο το τερματικό πιέζοντας το συνδυασμό πλήκτρων στο πληκτρολόγιο Ctrl + Alt + T, στη συνέχεια χρησιμοποιήστε την εντολή sudo apt-get install ssh. Μετά την προετοιμασία για τη λήψη, το βοηθητικό πρόγραμμα θα σας ρωτήσει αν θέλετε να συνεχίσετε. Αλλάξτε το πληκτρολόγιο στη ρωσική και πατήστε το D. Στον υπολογιστή σας Εγκατάσταση του Ubuntu  Το ssh θα ολοκληρωθεί σε μερικά δευτερόλεπτα. Εάν θέλετε να ενεργοποιήσετε την αυτόματη εκκίνηση όταν το σύστημα είναι ενεργοποιημένο, χρησιμοποιήστε την εντολή sudo systemctl enable sshd για αυτό. Συνεπώς, αν αργότερα θέλετε να καταργήσετε την υπηρεσία από την αυτόματη εκκίνηση, θα χρειαστείτε το sudo systemctl να απενεργοποιήσετε την εντολή sshd.


Τώρα μπορείτε να ελέγξετε πώς όλα λειτουργούν. Αρκεί να προσπαθήσετε να συνδεθείτε στον τοπικό διακομιστή SSH: ssh localhost. Το βοηθητικό πρόγραμμα θα σας προτρέψει για τον κωδικό πρόσβασης υπερ-χρηστών και θα προσφέρει επίσης την προσθήκη της εισαγόμενης διεύθυνσης στη λίστα επιτρεπόμενων. Εάν όλα λειτουργούν όπως αναμένεται, θα δείτε ένα μικρό μήνυμα που λήγει με μια ειδοποίηση σχετικά με την ημερομηνία της τελευταίας σύνδεσης στη διεύθυνση.

Τώρα μπορείτε να συνδεθείτε σε οποιονδήποτε υπολογιστή στο δίκτυο, εάν γνωρίζετε τη διεύθυνση IP και το όνομα χρήστη. Για να γίνει αυτό, στο τερματικό πρέπει να εισάγετε την εντολή με την ακόλουθη μορφή:

ssh username @ ip_address

Για παράδειγμα, εάν θέλετε να συνδεθείτε με τον υπολογιστή του Vasi Pupkin με τη διεύθυνση 132.14.25.10, τότε η εντολή θα έχει την εξής μορφή:

ssh [προστατευμένο με ηλεκτρονικό ταχυδρομείο]

Ρύθμιση SSH στο Ubuntu

Για να λειτουργήσει σωστά και με ασφάλεια με ένα διακομιστή SSH, πρέπει να το ρυθμίσετε με έναν συγκεκριμένο τρόπο. Για να γίνει αυτό, πρέπει να επεξεργαστείτε το αρχείο παραμέτρων sshd_config που βρίσκεται στον κατάλογο / etc / ssh. Αξίζει να σημειωθεί ότι δεν μπορεί να αλλάξει απλώς ανοίγοντας διαχειριστής αρχείων  σε έναν επεξεργαστή απλού κειμένου. Το σύστημα θα σας ενημερώσει για ανεπαρκή δικαιώματα και απλά δεν μπορείτε να αποθηκεύσετε αλλαγές. Ως εκ τούτου, θα χρειαστεί και πάλι ένα τερματικό και μια γνώση πολλών εντολών, τις οποίες θα συζητήσουμε τώρα. Ας ρίξουμε μια ματιά στα απαραίτητα βήματα για τη δημιουργία ενός ssh server στο λειτουργικό σύστημα Ubuntu.



Τι μπορεί να αλλάξει στις ρυθμίσεις SSH



Ελάχιστες απαιτούμενες εντολές



Συμπέρασμα

Όπως μπορείτε να δείτε, δεν υπάρχει τίποτα πολύ δύσκολο στη ρύθμιση του πρωτοκόλλου ssh σε έναν υπολογιστή με το λειτουργικό σύστημα Ubuntu. Χρειάζεται μόνο να προσαρμόσετε προσεκτικά τα πάντα, χρησιμοποιώντας τη δική μας λεπτομερείς οδηγίεςκαι να χρησιμοποιήσετε λειτουργίες απομακρυσμένης σύνδεσης. Εάν έχετε οποιεσδήποτε ερωτήσεις, ρωτήστε τους στα σχόλια.

Το SSH σημαίνει "ασφαλές κέλυφος" και είναι ένα πρωτόκολλο δικτύου που σας επιτρέπει να στέλνετε εντολές σε ένα απομακρυσμένο μηχάνημα. Από προεπιλογή στο λειτουργικό σύστημα Διακομιστή Ubuntu  12.04 ssh-server δεν είναι εγκατεστημένο, αν και στο σύστημα του διακομιστή το ssh είναι πιο συχνά απαραίτητο για απομακρυσμένη διαχείριση. Αυτός ο οδηγός περιγράφει τον τρόπο εγκατάστασης ενός διακομιστή ssh στον Ubuntu Server 12.04 LTS.

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

Ubuntu Server 12.04 χρησιμοποιείται Διακομιστή Opensshπου θα εγκατασταθούν. Εκτελέστε την ακόλουθη εντολή:

sudo apt-get εγκαταστήστε το διακομιστή openssh

Η εγκατάσταση δεν απαιτεί πολύ χρόνο, ίσως μερικά λεπτά, ανάλογα με την ταχύτητα σύνδεσης στο Internet. Αφού ολοκληρωθεί η εγκατάσταση, μπορείτε να ξεκινήσετε αμέσως την υπηρεσία sshd και να αρχίσετε να χρησιμοποιείτε το διακομιστή ssh, επειδή Όλες οι ρυθμίσεις OpenSSH που έχουν εγκατασταθεί κατά την εγκατάσταση τους έχουν υψηλό βαθμό ασφάλειας. Για να ξεκινήσετε το διακομιστή OpenSSH, εκτελέστε:

Ωστόσο, ίσως να θέλετε να προσθέσετε περιορισμούς και να αυξήσετε την ασφάλεια και γι 'αυτό πρέπει να κάνετε μικρές αλλαγές στις ρυθμίσεις. Όπως συμβαίνει σχεδόν σε όλους τους διακομιστές λογισμικού, Οι ρυθμίσεις SSH είναι οι αντιστοιχίες των ονομάτων των παραμέτρων και των τιμών τους στο αρχείο διαμόρφωσης (στην περίπτωση αυτή, / etc / ssh / sshd_config).

Βελτιώστε την ασφάλεια του διακομιστή ssh

Πριν κάνετε αλλαγές στο αρχείο διαμόρφωσης / etc / ssh / sshd_config, θα πρέπει να δημιουργήσετε ένα αντίγραφο αυτού μόνο σε περίπτωση. Για παράδειγμα, μπορείτε να αντιγράψετε το αρχείο στον αρχικό φάκελο:

sudo cp / etc / ssh / sshd_config ~

Τώρα μπορείτε να προχωρήσετε στη ρύθμιση του διακομιστή ssh. Ανοίξτε το αρχείο / etc / ssh / sshd_config σε ένα πρόγραμμα επεξεργασίας κειμένου, για παράδειγμα, vi:

sudo vi / etc / ssh / sshd_config

Αλλάξτε τη θύρα διακομιστή ssh

Η τυπική θύρα TCP / IP που χρησιμοποιεί ο διακομιστής ssh είναι 22. Γνωρίζοντας αυτό, πολλά αυτόματα προγράμματα hacking σαρώνουν το δίκτυο εντοπίζοντας τις ανοιχτές θύρες 22 και προσπαθούν να συνδεθούν χρησιμοποιώντας το πρωτόκολλο ssh και να πάρουν έναν κωδικό πρόσβασης. Σε περίπτωση που το όνομα χρήστη και ο κωδικός πρόσβασης είναι απλοί (κάτι που, φυσικά, είναι απαράδεκτο), κινδυνεύετε να αναληφθούν και ο εισβολέας θα μπεί στο σύστημά σας. Αν αλλάξετε τη θύρα σε οποιαδήποτε άλλη, στις περισσότερες περιπτώσεις θα αποκρύψετε τον διακομιστή ssh από τα αυτόματα συστήματα hacking. Για να αλλάξετε τη θύρα, εντοπίστε τη γραμμή "Θύρα 22" στο αρχείο ρυθμίσεων και αλλάξτε την τιμή της θύρας, για παράδειγμα:

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

Αποτρέψτε τη σύνδεση root ssh

Η αποτροπή της καταγραφής ρίζας μέσα από το ssh βελτιώνει επίσης κάπως την ασφάλεια, διότι αν ένας εισβολέας καταφέρει να πάρει έναν κωδικό πρόσβασης και να συνδεθεί στο σύστημά σας ως root, αποκτά αμέσως τον πλήρη έλεγχο του συστήματος.Για να εκτελέσετε αυτήν τη ρύθμιση, βρείτε την παράμετρο "PermitRootLogin" "ναι" στο "όχι":

Να επιτρέπεται η σύνδεση ssh μόνο σε συγκεκριμένους χρήστες

Ένας άλλος τρόπος για να αυξήσετε την ασφάλεια είναι να περιορίσετε τον αριθμό των χρηστών που επιτρέπεται να συνδεθούν μέσω του ssh. Αυτό μπορεί να γίνει χρησιμοποιώντας την οδηγία "AllowUsers". Όταν υπάρχει στο αρχείο διαμόρφωσης, μόνο οι χρήστες που περιγράφονται σε αυτό επιτρέπεται να συνδεθούν. Για παράδειγμα, θέλετε να επιτρέπετε στον χρήστη "howtoit" να συνδεθεί μέσω του ssh προσθέτοντας μια γραμμή στο τέλος του αρχείου / etc / ssh / sshd_config:

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

AllowUsers howtoitru someuser

Αφού ολοκληρώσετε τη διαμόρφωση, αποθηκεύστε και κλείστε το αρχείο ρυθμίσεων και κάντε επανεκκίνηση του διακομιστή ssh:

Τώρα μπορείτε να συνδεθείτε στο σύστημα Ubuntu Server 12.04 από άλλο μηχάνημα που χρησιμοποιεί τον client ssh.

Καταλαβαίνουμε τι Ssh  και ποια είναι τα πλεονεκτήματά του, εφαρμόσαμε επίσης το απλούστερο παράδειγμα Ssh-διακομιστή και πελάτη.

Σήμερα θα μιλήσω για περισσότερα λεπτομερή ρύθμιση Ssh-διακομιστή.

Όπως η διάσημη φράση "στο Linux  όλα είναι ένα αρχείο ", έτσι ώστε να ρυθμίσετε τις παραμέτρους Ssh-server είναι απαραίτητο και αρκετό για να το επεξεργαστείτε αρχείο διαμόρφωσης. Το πλήρες μονοπάτι του είναι / etc / ssh / sshd_config. Για να επεξεργαστείτε, ανοίξτε αυτό το αρχείο με δικαιώματα superuser με οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου.

Πριν από την επεξεργασία θα κάνουμε μόνο σε περίπτωση backup  αρχείο:

Sudo cp /etc/ssh/sshd_config(,.bak)

Τώρα ας δούμε το περιεχόμενό της:

Sudo nano / etc / ssh / sshd_config

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

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

Port

Εδώ καθορίζεται ποιο λιμάνι θα ακούσει ο διακομιστής μας. Από προεπιλογή, ακούει 22   το λιμάνι TCP / IP. Ένα ενδιαφέρον γεγονός είναι ότι μπορείτε να ορίσετε πολλαπλές θύρες. Για παράδειγμα:

ListenAddress

Περιορισμός της εξουσιοδότησης μέσω διεπαφής (ListenAddress)

Η γενική προβολή των ρυθμίσεων μπορεί να γραφεί ως εξής:

ListenAddress host | IPv4_addr | IPv6_addr ListenAddress: θύρα

Καθορίζει τη διεύθυνση δικτύου όπου θα γίνει "ακρόαση" του διακομιστή.
  Εάν ο διακομιστής διαθέτει πολλές διεπαφές δικτύου που έχουν ρυθμιστεί ώστε να χρησιμοποιούν διαφορετικά IPδιευθύνσεις, μπορείτε να περιορίσετε την πρόσβαση σε αυτήν την παράμετρο.
  Για παράδειγμα, στο διακομιστή τα ακόλουθα 4   διασύνδεση δικτύου:

Eth0 - 192.168.0.1 eth1 - 192.168.0.2 eth2 - 192.168.0.3 eth3 - 192.168.0.4

Από προεπιλογή   ssh-ο διακομιστής περιμένει μια σύνδεση καθόλου   IPδιευθύνσεις. Αν θέλετε οι χρήστες να συνδεθούν μόνο σε διεπαφές 2   και 3 , πρέπει να το κάνετε αυτό:

ListenAddress 192.168.0.2 ListenAddress 192.168.0.3

Εδώ μπορείτε επίσης να καθορίσετε τη θύρα. Για παράδειγμα:

ListenAddress 192.168.0.2:222

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

Διεύθυνση οικογένειας

Υποδεικνύει ποια οικογένεια IP  Οι διευθύνσεις πρέπει να χρησιμοποιούνται από την υπηρεσία   ssh. Πιθανές επιλογές:
"Οποιαδήποτε"  - οποιαδήποτε
"Inet"  (μόνο IPv4)
"Inet6"  (μόνο IPv6)
  Από προεπιλογή - "Οποιαδήποτε".

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

Για παράδειγμα, για να επιτρέψετε IPv4  και την απαγόρευση IPv6:

ΔιεύθυνσηΦατσίνο

Πρωτόκολλο

ssh  μπορεί να λειτουργήσει με πρωτόκολλα Ssh1  και Ssh2.  Επιπλέον, η χρήση του ασφαλούς Ssh1  συνιστάται ιδιαίτερα. Κάνε ssh  εργασία με πρωτόκολλο μόνο Ssh2  μπορεί να είναι έτσι:

Πρωτόκολλο 2

PermitRootLogin

Η δυνατότητα εξουσιοδότησης κάτω από το superuser

Από προεπιλογή, πηγαίνετε στο απομακρυσμένο διακομιστή  από το χρήστη ρίζα  κανένας δεν απαγορεύει. Αλλά δεν είναι ασφαλές. Στη θέση αυτού, θα είναι πιο σωστό να συνδεθείτε ως λογαριασμός χρήστη. λογαριασμό  και να ανυψώσετε τα προνόμιά σας με την εντολή 'Su -',  είτε χρησιμοποιήστε   'Sudo'.

Εάν υπάρχουν πολλοί διαχειριστές συστήματος στην εταιρεία σας και όλοι συνδέονται με το διακομιστή κάτω από το superuser, τότε δεν είναι πάντα δυνατό να μάθετε ποιος διαχειριστής βρίσκεται στο διακομιστή. Επομένως, αφού απενεργοποιήσετε τη λειτουργία εξουσιοδότησης απευθείας κάτω από το χρήστη ρίζα, διαχειριστές συστήματος  αρχικά θα συνδεθούν με το λογαριασμό τους και μόνο μετά από αυτό θα πάρουν τα προνόμια superuser? Αυτό διευκολύνει τον έλεγχο του διακομιστή και των ενεργειών που κάνουν οι διαχειριστές του συστήματος.
  Για να απενεργοποιήσετε την παραπάνω λειτουργία, απενεργοποιήστε την παράμετρο PermitRootLoginρυθμίζοντας την τιμή "Όχι".

PermitRootLogin όχι

PermitEmptyPasswords

Αποκλεισμός κενών κωδικών πρόσβασης

PermitEmptyPasswords όχι

AllowUsers, AllowGroups

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

Για να το κάνετε αυτό στο αρχείο ρυθμίσεων sshd_config  θα πρέπει να προσθέσετε συγκεκριμένους χρήστες που υπάρχουν στον διακομιστή. Στο παρακάτω παράδειγμα, αυτοί είναι χρήστες. john peter  και Μιχαήλ  στους οποίους επιτρέπεται η σύνδεση στο διακομιστή. Τα ονόματα χρηστών χωρίζονται με κενά.

AllowUsers john peter michael

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

AllowGroups προγραμματιστές διαχειριστές

DenyUsers, DenyGroups

Σε αντίθεση με την παράμετρο που επιτρέπει την πρόσβαση σε συγκεκριμένους χρήστες ή ομάδες, μπορείτε επίσης να καθορίσετε χρήστες ή ομάδες στις οποίες δεν επιτρέπεται η πρόσβαση στον διακομιστή.
  Για να το κάνετε αυτό, προσθέστε το αρχείο διαμόρφωσης sshd_config  παράμετρο DenyUsers, στην οποία μέσω του χώρου υποδεικνύονται εκείνοι οι χρήστες στους οποίους δεν επιτρέπεται η πρόσβαση στο διακομιστή. Στο παρακάτω παράδειγμα, αυτό είναι ένα σύστημα apache,  καθώς και πολύ πραγματικό boris.

DenyUsers apache boris

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

DenyGroups μάρκετινγκ χάκερ

Σημειώστε ότι μπορείτε να χρησιμοποιήσετε έναν συνδυασμό παραμέτρων απαγόρευσης και ενεργοποίησης: DenyUsers, AllowUsers, DenyGroupsκαι AllowGroups.

LoginGraceTime

Όταν προσπαθείτε να συνδεθείτε στο ssh  στο διακομιστή που έχετε 2   λεπτά για να εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης. Εάν δεν το κάνετε αυτό, η σύνδεση με το διακομιστή θα τερματιστεί. 2   λεπτά της αναμονής για τα δεδομένα εξουσιοδότησης είναι αρκετά. Πρέπει να περιορίζεται σε 1   λεπτά ή ακόμα και 30   δευτερολέπτων

Για να το κάνετε αυτό, αλλάξτε την παράμετρο LoginGraceTime  με την επεξεργασία του αρχείου sshd_config  και υποδείξτε εκεί τον απαιτούμενο χρόνο. Στο παρακάτω παράδειγμα είναι 1   ένα λεπτό

LoginGraceTime 1m

ClientAliveInterval

Αποσύνδεση χωρίς δραστηριότητα στο κέλυφος

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

Χρησιμοποιώντας Bash  μπορείτε να το επιτύχετε με την αλλαγή της μεταβλητής περιβάλλοντος TMOUT.

Στο Openssh  αυτό επιτυγχάνεται με ένα συνδυασμό παραμέτρων ClientAliveCountMax  και ClientAliveInterval  στο αρχείο ρυθμίσεων sshd_config.

  • ClientAliveCountMax  - υποδεικνύει το μέγιστο ποσό checkalive  αποστολή μηνυμάτων ssh-server για τον οποίο δεν λαμβάνει καμία απάντηση ssh-πελάτη Η προεπιλογή είναι 3.
  • ClientAliveInterval  - υποδεικνύει το χρονικό όριο (timeout) σε δευτερόλεπτα. Μετά την καθορισμένη ώρα ssh-server θα στείλει checkalive  μήνυμα στον πελάτη, αναμένοντας απάντηση από αυτόν (απόκριση). Η προεπιλογή είναι 0,   δηλαδή, ο διακομιστής δεν θα στείλει μηνύματα για επαλήθευση.

Σε σας   ssh-ο πελάτης αποσυνδέεται αυτόματα μετά 10   λεπτά ( 600   δευτερόλεπτα), θα πρέπει να κάνετε αλλαγές στο αρχείο ρυθμίσεων sshd_config  ως εξής:

ClientAliveInterval 600 ClientAliveCountMax 0

Αυτό είναι όλο για τώρα. Βασικά, νομίζω ότι αυτό είναι αρκετό για μια καλή ρύθμιση και καλύτερη ασφάλεια. sshΣτο επόμενο μέρος, θα εξετάσουμε κάποιες άλλες παραμέτρους.   ssh-server και ίσως μπορούμε να συζητήσουμε την εξακρίβωση της ταυτότητας βασισμένη σε κλειδιά.

Καλή τύχη σε όλους και θα σας δούμε σύντομα στο blog μας!

Συνέχιση του θέματος:
Λειτουργικά συστήματα

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