Φιλοξενία με SSH - γιατί είναι χρήσιμο; Μεταφορά τυπικής εξόδου από τοπικό μηχάνημα σε απομακρυσμένο μηχάνημα μέσω ssh. Τι πρέπει να γνωρίζετε για να συνδεθείτε μέσω SSH

Ηλεκτρονική 16.05.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

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

Τι είναι το πρωτόκολλο SSH

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

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

Κύρια χαρακτηριστικά που είναι διαθέσιμα κατά τη χρήση του πρωτοκόλλου SSH:

  • Μεταφέρετε οποιαδήποτε δεδομένα μέσω ασφαλούς σύνδεσης SSH, συμπεριλαμβανομένης της συμπίεσης δεδομένων για επακόλουθη κρυπτογράφηση.
  • Το X11 Forwarding είναι ένας μηχανισμός που σας επιτρέπει να εκτελείτε προγράμματα διακομιστή UNIX/Linux στη φόρμα γραφικό κέλυφος, όπως στα Windows (χρησιμοποιήστε το X Window System).
  • Η προώθηση θυρών είναι η μεταφορά κρυπτογραφημένης κίνησης μεταξύ θυρών διαφορετικών μηχανημάτων.

Η ασφάλεια της σύνδεσης SSH διασφαλίζεται από:

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

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

  • hacking με αντικατάσταση διευθύνσεων IP (IP-spoofing), όταν ένας απομακρυσμένος κεντρικός υπολογιστής στέλνει πακέτα για λογαριασμό άλλου απομακρυσμένου κεντρικού υπολογιστή
  • αντικατάσταση εγγραφών DNS (DNS-spoofing), όταν αντικαθίσταται μια εγγραφή στον διακομιστή DNS, με αποτέλεσμα να δημιουργείται σύνδεση με τον κεντρικό υπολογιστή που καθορίζεται στην πλαστογραφημένη εγγραφή, αντί για την απαιτούμενη
  • διακοπή ανοίξτε τους κωδικούς πρόσβασηςκαι άλλα δεδομένα που μεταδίδονται σε καθαρό κείμενο μέσω μιας εγκατεστημένης σύνδεσης

Σήμερα, υπάρχουν δύο εκδόσεις του πρωτοκόλλου SSH (SSH-1 και SSH-2), και η δεύτερη έκδοση έχει βελτιωθεί και επεκταθεί σε σύγκριση με την πρώτη. Για παράδειγμα, η δεύτερη έκδοση είναι ανθεκτική σε επιθέσεις MITM (man-in-the-middle, man-in-the-middle). Υπάρχουν επίσης δύο εκδόσεις αυτού του πρωτοκόλλου: μια ανοιχτή έκδοση (δωρεάν) και μια εμπορική έκδοση (με πληρωμή). Η δωρεάν έκδοση - OpenSSH - είναι ενσωματωμένη σε όλα τα λειτουργικά συστήματα που μοιάζουν με UNIX όπως τυπικά βοηθητικά προγράμματα SSH πελάτης και διακομιστής SSH.

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

Διάφορα προγράμματα-πελάτες SSH και κελύφη έχουν κυκλοφορήσει για λειτουργικό σύστημα Windows, τα πιο συνηθισμένα είναι τα δωρεάν PuTTY και WinSCP. Άλλα λειτουργικά συστήματα έχουν επίσης τους δικούς τους πελάτες SSH.

Τι είναι το πρωτόκολλο SFTP

Πρωτόκολλο SFTP (από τα αγγλικά. Αρχείο SSH Πρωτόκολλο μεταφοράς ) είναι ένα πρωτόκολλο δικτύου επιπέδου εφαρμογής που έχει σχεδιαστεί για τη μεταφορά αρχείων και άλλων ενεργειών με αυτά μέσω ενός υπάρχοντος αξιόπιστη σύνδεση. Το πρωτόκολλο αναπτύχθηκε ως επέκταση του SSH-2, που προορίζεται για λειτουργίες αρχείων μέσω ασφαλούς καναλιού, αλλά μπορεί επίσης να συνεργαστεί με άλλα πρωτόκολλα που παρέχουν μια ασφαλή σύνδεση μεταξύ του διακομιστή και του πελάτη. Με άλλα λόγια, για να εργάζεστε αξιόπιστα μέσω του πρωτοκόλλου SFTP, πρέπει να έχετε μια εγκατεστημένη ασφαλή σύνδεση (για παράδειγμα, SSH), η οποία πιστοποιεί την ταυτότητα του πελάτη και του διακομιστή και καθορίζει το γεγονός της αξιοπιστίας τους, καθώς το ίδιο το πρωτόκολλο SFTP δεν ελέγχει την ταυτότητα και το κάνει δεν παρέχει ασφάλεια.

Το SFTP έχει μια σειρά από πλεονεκτήματα σε σχέση με τους προκατόχους του - FTP και SCP - όπως διακοπή μεταφοράς αρχείων, διαγραφή, συνέχιση των μεταφορών, συσχετισμός μεταφερθέντων αρχείων με βασικά χαρακτηριστικά όπως σφραγίδα ημερομηνίας/ώρας, καθώς και υψηλότερη ανεξαρτησία πλατφόρμας.

Το πρωτόκολλο SFTP υλοποιείται μέσω του διακομιστή SFTP και του πελάτη SFTP, που είναι υποσυστήματα του OpenSSH.

Σε τι χρησιμεύουν τα πρωτόκολλα SSH και SFTP;

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

Για παράδειγμα, ένας πελάτης νοικιάζει έναν διακομιστή ή κάποιο μέρος του χώρου του διακομιστή. Υπάρχει ανάγκη να μεταφέρετε υπάρχοντα δεδομένα πελάτη εκεί, για παράδειγμα, έναν ιστότοπο ή αρχεία αλληλογραφίας. Ο πάροχος πρέπει να διασφαλίζει την αξιοπιστία και την ταχύτητα ανταλλαγής δεδομένων με τον διακομιστή του, ειδικά εάν μιλάμε γιασχετικά με μεγάλο όγκο πληροφοριών και την υψηλή εμπιστευτικότητα τους. Σε αυτήν την περίπτωση, στο απομακρυσμένο μηχάνημα (σε σε αυτή την περίπτωση - εικονικός διακομιστής) είναι εγκατεστημένος ένας διακομιστής SSH (με ενσωματωμένο πρωτόκολλο SFTP) και ενεργοποιείται υπολογιστή πελάτη- Πελάτης SSH. Δημιουργείται μια σήραγγα SSH και ανταλλάσσονται δεδομένα μεταξύ του πελάτη και του απομακρυσμένος διακομιστήςπραγματοποιείται μέσω αξιόπιστης σύνδεσης με όλα τα πλεονεκτήματα του πρωτοκόλλου που περιγράφηκε παραπάνω.

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

Πώς λειτουργεί το SSH

Το πρωτόκολλο SSH εκτελεί ένα σύνολο προγραμμάτων που εκτελούν διάφορες δράσειςσε ένα απομακρυσμένο λειτουργικό σύστημα. Για παράδειγμα, το πρόγραμμα sshd παρέχει λειτουργικότητα διακομιστή SSH και πρέπει να εκτελείται στον διακομιστή SSH. Το πρόγραμμα ssh εκτελείται σε έναν πελάτη SSH και σας επιτρέπει να δημιουργήσετε μια σύνδεση με έναν απομακρυσμένο κεντρικό υπολογιστή, να εγγραφείτε σε αυτόν και να εργαστείτε με ένα απομακρυσμένο μηχάνημα μέσω μιας σύνδεσης SSH.

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

Πώς να συνδεθείτε μέσω SSH

Εάν ο υπολογιστής σας εκτελεί Windows και το απομακρυσμένο μηχάνημα είναι σύστημα τύπου UNIX (για παράδειγμα, Linux), τότε μπορείτε να χρησιμοποιήσετε το PuTTY για να δημιουργήσετε μια σύνδεση SSH. Αυτό το δωρεάν πρόγραμμα για Windows αποτελείται από ένα μόνο εκτελέσιμο αρχείο και δεν απαιτεί εγκατάσταση.

Για να δημιουργήσετε μια σύνδεση χρησιμοποιώντας PuTTY, πρέπει να κάνετε τα εξής:

Εκκινήστε το PuTTY (putty.exe).


Κανένα από προεπιλογή πρόσθετες ρυθμίσειςδεν χρειάζεται να το κάνετε αυτό, μπορείτε να βεβαιωθείτε ότι έχει καθοριστεί η θύρα 22 και ο τύπος σύνδεσης είναι Τύπος σύνδεσης - SSH. Στο πεδίο Όνομα κεντρικού υπολογιστή (ή διεύθυνση IP) πρέπει να εισαγάγετε το όνομα του απομακρυσμένου υπολογιστή ή τη διεύθυνση IP του και κάντε κλικ στο κουμπί Άνοιγμα.


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


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


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


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

Ρύθμιση SSH

Η εγκατάσταση θα πραγματοποιηθεί για έναν αποκλειστικό διακομιστή, VDS, VPS σε Debian, Ubuntu. Το αρχείο ρυθμίσεων βρίσκεται εδώ: /etc/ssh/sshd_config.
Εάν έχετε κανονική φιλοξενία, όλα θα πρέπει να ρυθμιστούν όπως θα έπρεπε, μεταβείτε στην ενότητα.

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

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

Πώς να περιορίσετε την πρόσβαση SSH

Όλες οι αλλαγές γίνονται στο /etc/ssh/sshd_config
Για να τεθούν σε ισχύ οι αλλαγές, πρέπει

Αλλαγή θύρας

Θύρα 9724

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

Απενεργοποιήστε την επικοινωνία χρησιμοποιώντας το παλιό πρωτόκολλο

Εδώ ορίζουμε ότι η επικοινωνία είναι δυνατή μόνο χρησιμοποιώντας το πρωτόκολλο v2

Εάν δεν είστε συνδεδεμένοι ρίζα, πριν από όλες τις εντολές της κονσόλας πρέπει να προσθέσετε sudo - σημαίνει Αντικατάσταση χρήστη και DO- αντικαταστήστε τον χρήστη και κάντε (κάτω από αυτόν). Για παράδειγμα, σας επιτρέπει να εκτελείτε εντολές ως υπερχρήστης ρίζα.

Μειώστε τον αριθμό των προσπαθειών εξουσιοδότησης

MaxAuthTries 2

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

Μειώστε τον χρόνο αναμονής εξουσιοδότησης

LoginGraceTime 30s

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

Κλείστε την πρόσβαση IP

Εάν χρειάζεστε μόνο πρόσβαση, ο απλούστερος και πιο αξιόπιστος τρόπος είναι να αποκλείσετε την πρόσβαση από παντού εκτός από την IP σας ή, εάν είναι δυναμική, τότε το εύρος IP.

  1. Ανοίξτε το /etc/hosts.allow και προσθέστε SSHD εκεί: 192.168.1.1

    όπου το 192.168.1.1 είναι η IP σας. Εάν έχετε μια δυναμική IP, προσδιορίστε την IP με μια μάσκα υποδικτύου και σημειώστε το υποδίκτυό σας αντί για την IP, για παράδειγμα:

    SSHD: 192.168.0.0/16

  2. Ανοίξτε το /etc/hosts.deny και προσθέστε εκεί: SSHD: ALL

Ένας άλλος τρόπος περιορισμού της πρόσβασης μέσω IP

Μπορείτε να χρησιμοποιήσετε την ακόλουθη οδηγία:

AllowUsers = *@1.2.3.4

Εδώ επιτρέπουμε μόνο την πρόσβαση για IP 1.2.3.4

Εξουσιοδότηση SSH με χρήση κλειδιών

Θα είναι πολύ πιο ασφαλές, πιο βολικό και σωστό να ρυθμίσετε την εξουσιοδότηση ssh χωρίς κωδικό πρόσβασης. Για το σκοπό αυτό, θα χρησιμοποιηθεί εξουσιοδότηση κλειδιού.

Ορίστε λοιπόν οι οδηγίες:

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

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

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

υπηρεσία ssh stop|start|restart

Στο Ubuntu ή:

/etc/init.d/ssh (start|stop|reload|force-reload|restart|status)

Στο Debian ή:

systemctl start|stop| επανεκκίνηση sshd.service

Στο ArchLinux (μετά από κάθε επεξεργασία του config πρέπει να κάνετε επανεκκίνηση). Το κιτ περιλαμβάνει πελάτη και διακομιστή.

Ας το δοκιμάσουμε στην πράξη! Αρχικά, δημιουργήστε έναν φάκελο ~/.ssh

mkdir ~/.ssh

Δημιουργήστε κλειδιά για αυτόν τον χρήστη διακομιστή με την εντολή:

ssh-keygen (ως τακτικός χρήστης).

Κατά τη δημιουργία, μπορείτε να ορίσετε μια φράση πρόσβασης για το κλειδί (συνιστάται να ορίσετε μια μεγάλη - τότε ακόμη και αφού έχετε αποκτήσει το κλειδί, αλλά δεν γνωρίζετε τον κωδικό πρόσβασης για το κλειδί, ο εισβολέας δεν θα μπορεί να συνδεθεί) ή μπορείτε παραλείψτε το πατώντας απλώς "Enter" - σε αυτήν την περίπτωση, ο κωδικός πρόσβασης δεν θα ζητηθεί ποτέ. Το ίδιο δημόσιο και ιδιωτικό κλειδί εμφανίστηκαν στο φάκελο ~/.ssh.

Βρείτε άλλο αυτοκίνητο (ακόμα smartphone θα κάνει- υπάρχουν μερικοί υπέροχοι πελάτες SSH στο Android, όπως το ConnectBot ή το JuiceSSH), εγκαταστήστε το ssh σε αυτό και συνδεθείτε στον διακομιστή με την εντολή:

ssh user@server

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

Για τα Windows, παρεμπιπτόντως, υπάρχουν επίσης διακομιστές και πελάτες ssh.

Έχοντας απολαύσει το αποτέλεσμα των κόπων μας, ας προχωρήσουμε στο ακόμα πιο βαρετό κομμάτι - τη ρύθμιση του πελάτη/διακομιστή.

Η διαμόρφωση του τμήματος πελάτη είναι μέσα /etc/ssh/ssh_configκαι ο διακομιστής ένα - /etc/ssh/sshd_config. Πλέον πλήρης οδηγόςστη ρύθμιση παραμέτρων είναι, ίσως, η σελίδα στο man - man ssh και στο man sshd_config, γι' αυτό σας συνιστούμε να το διαβάσετε. Και σε αυτό το άρθρο θα δούμε τα πιο απαραίτητα.

Ρυθμίσεις

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

#Θύρα 22

Και προσθέστε οποιαδήποτε επιθυμητή έως 65535 (φροντίζοντας να μην έρχεται σε διένεξη με άλλες υπηρεσίες με την εντολή #netstat -tupln | grep ΑΚΟΥΣΤΕ).

Τώρα, κατά τη σύνδεση στον διακομιστή, ο πελάτης θα πρέπει να γράψει με το κλειδί:

ssh -p [port]:

Από προεπιλογή, επιτρέπεται η πρόσβαση ως root. Συνιστάται ιδιαίτερα να το περιορίσετε (και αντ' αυτού να οριοθετήσετε σωστά τα δικαιώματα των τοπικών χρηστών χρησιμοποιώντας το sudo). Για να το κάνετε αυτό, βρείτε τη γραμμή "PermitRootLogin" και αλλάξτε την τιμή σε "όχι". Μπορείτε επίσης να το αλλάξετε σε "χωρίς κωδικό πρόσβασης" - σε αυτήν την περίπτωση, η σύνδεση ως root θα επιτρέπεται μόνο από μηχανήματα με αξιόπιστο κλειδί.

Μπορείτε να απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης και να εργαστείτε μόνο με κλειδιά - βρείτε τη γραμμή: "PasswordAuthentication" και αλλάξτε την τιμή σε "no". Για τι; Εάν κάποιος θέλει πραγματικά να αποκτήσει πρόσβαση στο σύστημά σας, μπορεί είτε να προσπαθήσει να μαντέψει τον κωδικό πρόσβασής σας κατά τις προσπάθειες εξουσιοδότησης είτε να ακούσει και να αποκρυπτογραφήσει τη σύνδεσή σας. Εάν απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης και προσθέσετε το δημόσιο κλειδί του, για παράδειγμα, φορητού υπολογιστή εργασίας σας στα ~/.ssh/authorized_keys του διακομιστή, τότε, όπως θυμόμαστε, θα μας επιτραπεί να μπούμε αμέσως στον διακομιστή. Τι γίνεται όμως αν εργάζεστε στο μηχάνημα κάποιου άλλου και πρέπει επειγόντως να αποκτήσετε πρόσβαση στον διακομιστή ssh, αλλά όπως ήταν αναμενόμενο, δεν θα μας αφήσει να μπούμε; Στη συνέχεια, δεν μπορείτε να απενεργοποιήσετε τον έλεγχο ταυτότητας με κωδικό πρόσβασης, αλλά να χρησιμοποιήσετε το βοηθητικό πρόγραμμα fail2ban. Απλώς εγκαταστήστε το από το αποθετήριό σας, μετά από το οποίο θα εφαρμόσει τις προεπιλεγμένες ρυθμίσεις και, τουλάχιστον, θα προστατεύσει το κανάλι σας ssh από την ωμή παραβίαση. Περισσότερες πληροφορίες για το fail2ban - http://putty.org.ru/articles/fail2ban-ssh.html.

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

PermitRootLogin no - η είσοδος ως root απαγορεύεται.

PasswordAuthentication no - σύνδεση χωρίς κωδικό πρόσβασης

Ας δημιουργήσουμε ένα μακρύ κλειδί στο απομακρυσμένο μηχάνημα (-t encryption_type, -b μήκος bit):

ssh-keygen -t rsa -b 4096

Με μια εξίσου περίπλοκη φράση πρόσβασης (παρεμπιπτόντως, δεν μπορείτε να ανακτήσετε έναν ξεχασμένο κωδικό πρόσβασης. Μπορείτε να τον αλλάξετε με την εντολή “ssh-keygen -p”, αλλά σε κάθε περίπτωση θα σας ζητηθεί ο παλιός). Ας μεταφέρουμε το δημόσιο κλειδί στο τηλεχειριστήριο τοπική μηχανήσε ~/.ssh/authorized_keys του διακομιστή και voila - η πρόσβαση μπορεί πλέον να αποκτηθεί από ένα μόνο μηχάνημα, χρησιμοποιώντας τη φράση πρόσβασης του ιδιωτικού κλειδιού. Το SSH σάς επιτρέπει να διαμορφώσετε πολλές διαμορφώσεις ασφαλείας και έχει πολλές συγκεκριμένες ρυθμίσεις για αυτό - διαβάστε για αυτές στο man.

Δύο παράμετροι sshd_config εξυπηρετούν τον ίδιο σκοπό:

LoginGraceTime- καθορίζει το χρόνο μετά τον οποίο θα τερματιστεί η σύνδεση εάν δεν πραγματοποιηθεί έλεγχος ταυτότητας.

MaxAuthTries- ορίζει τον αριθμό των λανθασμένων προσπαθειών εισαγωγής σύνδεσης, μετά την επίτευξη των οποίων η σύνδεση θα τερματιστεί.

MaxSessions- τον αριθμό των ταυτόχρονων συνεδριών (εάν ο διακομιστής είναι ο οικιακός υπολογιστής σας, στον οποίο πρόκειται να συνδεθείτε από το πανεπιστήμιο ή την εργασία σας, τότε θα ήταν λογικό να περιοριστεί ο αριθμός των συνεδριών σε μία - μια απορριπτική σύνδεση, σε αυτήν την περίπτωση, θα γίνει λόγος για αυξανόμενη παράνοια, δημιουργία νέων κλειδιών και αλλαγή κωδικού πρόσβασης). Ωστόσο, εάν είστε προσεκτικοί, μπορεί να έχετε παρατηρήσει ότι κάθε φορά που συνδέεστε στον διακομιστή, εμφανίζεται η γραμμή "Τελευταία σύνδεση". Επιπλέον, μπορείτε να προσθέσετε το δικό σας μήνυμα καλωσορίσματος - βρείτε τη γραμμή "Banner" και αντί για κανένα ορίστε τη διαδρομή προς το αρχείο με το κείμενο που θα διαβαστεί και θα εμφανιστεί κατά τη σύνδεση.

Μεταξύ άλλων, μπορείτε να επιτρέψετε μόνο σε συγκεκριμένους χρήστες να συνδεθούν ή να επιτρέψετε σε όλους εκτός από ορισμένους χρήστες:

AllowUsers user1- επιτρέπεται μόνο ο χρήστης 1 να συνδεθεί.

Χρήστης DenyUsers 1- να επιτρέπεται σε όλους εκτός από τον χρήστη 1.

Και παρόμοιες παραμέτρους για πρόσβαση ορισμένες ομάδες- AllowGroups και DenyGroups.

Μπορείτε επίσης να μεταφέρετε μια συνεδρία X11 μέσω SSH. Για να το κάνετε αυτό, βρείτε τη γραμμή "ForwardX11" και αλλάξτε την τιμή σε "ναι".

Βρείτε μια παρόμοια γραμμή στη διαμόρφωση πελάτη - /etc/ssh/ssh_config και αλλάξτε την σε "ναι".

Τώρα πρέπει να συνδεθείτε στον διακομιστή μέσω ssh με το όρισμα -X:

ssh -X user@server>

Μπορείτε να εκκινήσετε αμέσως την εφαρμογή κατά τη σύνδεση:

ssh -X user@server "εφαρμογή"

Έτσι μοιάζει ένα εκτελούμενο GIMP σε μια περίοδο λειτουργίας ssh:

Ή μπορείτε να λάβετε έξοδο από την κάμερα web ενός φορητού υπολογιστή ανυποψίαστου χρήστη :)

Οι υπολογισμοί εκτελούνται απευθείας στον διακομιστή και η έξοδος μεταφέρεται στον υπολογιστή-πελάτη (δηλαδή, ακόμα κι αν ο ίδιος ο διακομιστής δεν έχει εγκατεστημένο το X11, οι εφαρμογές γραφικών μπορούν να αποδοθούν στο απομακρυσμένο μηχάνημα). Αυτό το σχήμα λειτουργεί αρκετά αργά (μην ξεχνάτε ότι όλη η κίνηση είναι δυναμικά κρυπτογραφημένη) - αλλά αυτή η λειτουργία είναι πολύ χρήσιμη.

Μπορείτε επίσης να αντιγράψετε αρχεία χρησιμοποιώντας μια περίοδο λειτουργίας SSH - υπάρχει ένα απλό βοηθητικό πρόγραμμα "scp" για αυτό. Μπορείτε να μεταφέρετε αρχεία απευθείας στη συνεδρία, τόσο από διακομιστή σε πελάτη:

scp user@server:/path/to/file/on/server/where/to/save/on/local/machine

Έτσι, από πελάτη σε διακομιστή:

scp path/to/file/client user@server:/path/on/server

Αυτό είναι αρκετά βολικό εάν πρέπει να αντιγράψετε ένα βιβλίο κειμένου ή μια φωτογραφία, αλλά τι να κάνετε όταν πρέπει να εργαστείτε με πολλά αρχεία; Υπάρχει ένα πολύ βολικό πράγμα για αυτό - το sshfs (διατίθεται για εγκατάσταση στα αποθετήρια των περισσότερων συστημάτων *nix).

Απλώς ορίστε τη διαδρομή παρόμοια με το scp:

sshfs user@server:/home/user /mnt/

Και ο φάκελος /home/user του διακομιστή θα εμφανιστεί στο σημείο προσάρτησης /mnt του τοπικού μηχανήματος!

Η αποπροσάρτηση γίνεται μέσω του umount.

Και τέλος, ας μιλήσουμε για ένα ελάχιστα γνωστό χαρακτηριστικό. Εάν δημιουργήσετε ένα αρχείο /.ssh/configκαι συμπληρώστε το ως εξής:

Διοργανωτής [όνομα]

Όνομα κεντρικού υπολογιστή

Χρήστης [όνομα χρήστη διακομιστή]

επιθυμητές επιλογές

σαν

ForwardX11 ναι

Θύρα 30000

Στη συνέχεια μπορούμε να συνδεθούμε χρησιμοποιώντας:

ssh [όνομα]

ssh -X -p 30000 user@server

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

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

Αυτό το άρθρο επισημαίνεται ως ημιτελές. Δείτε τη σημείωση στο τέλος του άρθρου.

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

Περιγραφή των αρχών λειτουργίας και των εφαρμογών που χρησιμοποιούνται

Βασικά, το SSH υλοποιείται με τη μορφή δύο εφαρμογών - έναν διακομιστή SSH και έναν πελάτη SSH το Ubuntu χρησιμοποιεί μια δωρεάν υλοποίηση ενός πελάτη και διακομιστή SSH - το OpenSSH. Κατά τη σύνδεση, ο πελάτης υποβάλλεται σε διαδικασία εξουσιοδότησης με τον διακομιστή και δημιουργείται μια κρυπτογραφημένη σύνδεση μεταξύ τους. Ο διακομιστής OpenSSH μπορεί να λειτουργήσει και με τα πρωτόκολλα ssh1 και ssh2. Το πρωτόκολλο ssh1 θεωρείται επί του παρόντος ανασφαλές και η χρήση του αποθαρρύνεται ιδιαίτερα. Παραλείπω επίτηδες διάφορα τεχνικές λεπτομέρειεςλειτουργία πρωτοκόλλου, αφού ο κύριος στόχος αυτό το εγχειρίδιοείναι μια περιγραφή της ρύθμισης και της χρήσης του. Υπάρχουν πολλά άρθρα στο Διαδίκτυο σχετικά με το ίδιο το πρωτόκολλο, τις αρχές της λειτουργίας του, τους αλγόριθμους κρυπτογράφησης κ.λπ., για παράδειγμα, μπορείτε να διαβάσετε για αυτό λεπτομερώς.

Εγκατάσταση

Εγκαθιστώ OpenSSHΜπορείτε να χρησιμοποιήσετε την εντολή από το τερματικό:

sudo apt-get install ssh

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

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

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

υπηρεσία sudo ssh stop| έναρξη| επανεκκίνηση

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

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

# Παράδειγμα διαμόρφωσης ανοιχτό- διακομιστή sshκαι με ρωσικά # # σχόλια..2010. # # # # # # Συμβάσεις: # # Με τον όρο "προεπιλογή" εννοούμε τη συμπεριφορά του sshd όταν # # η οδηγία δεν προσδιορίζεται ρητά. Αξίζει να σημειωθεί ότι στο Ubuntu # # το αρχείο sshd_config περιέχει ήδη έναν αριθμό ρυθμίσεων που το # # είναι οι προεπιλεγμένες ρυθμίσεις ειδικά για το Ubuntu. # # Τέτοιες ρυθμίσεις καθορίζονται σε αυτό το αρχείο. # # # ################################################################ ############# ################ Ρυθμίσεις διεύθυνσης/θύρας κ.λπ. ################################################################## # ####################### ### Λιμάνι ###################### ### ############################# # # # Χρησιμοποιείται θύρα. Μπορείτε να καθορίσετε πολλά, για παράδειγμα: # # Θύρα 22 # # Θύρα 23 # # Θύρα 24 # # Συνιστάται η χρήση Δεν τυπική θύρα, γιατί Το πρότυπο # # σαρώνεται συχνά από bots για πιθανές # # τρύπες. Μπορεί να παραλειφθεί εάν οριστεί # # μέσω μιας διεύθυνσης. Δείτε επίσης την παράμετρο ListenAddress. # # # Θύρα 22 # # ## Ακούστε Διεύθυνση ############################################################# ### # # # Διεύθυνση δικτύου , στο οποίο ο διακομιστής «ακούει». Η διεύθυνση μπορεί # # να γραφτεί ως εξής: # # ListenAddress host|IPv4_addr|IPv6_addr # # ListenAddress host|IPv4_addr:port # # ListenAddress :port # # Αν δεν έχει καθοριστεί καμία θύρα, το sshd θα ακούει σε αυτήν τη διεύθυνση και το # # στο θύρα που καθορίζεται στην επιλογή Port. Εάν θα χρησιμοποιήσετε # # ListenAddress χωρίς να καθορίσετε μια θύρα, τότε η επιλογή # # Port πρέπει να προηγείται της επιλογής ListenAddress. Εάν δεν έχει καθοριστεί # #, τότε από προεπιλογή ακούει σε όλες τις τοπικές διευθύνσεις # #. Μπορείτε να καθορίσετε πολλές διευθύνσεις. # # # ## Διεύθυνση Οικογένειας ############################################################### # # # Καθορίζει ποια οικογένεια διευθύνσεων IP θα πρέπει να χρησιμοποιείται # # από ​​το sshd. Πιθανές επιλογές: # # "οποιοδήποτε" - οποιαδήποτε # # "inet" (μόνο IPv4) # # "inet6" (μόνο IPv6) # # Προεπιλογή - "οποιοδήποτε". # AddressFamily inet # # ## UseDNS ################################################################ ######### # # # Καθορίζει εάν το sshd θα πρέπει να ελέγχει το όνομα κεντρικού υπολογιστή και το # # να χρησιμοποιεί αυτό το όνομα κεντρικού υπολογιστή για να ελέγξει τη διεύθυνση IP που αποστέλλεται από τον πελάτη έναντι του # # που λαμβάνεται από το DNS. # # Η προεπιλεγμένη τιμή είναι "ναι". # # # ################################################################ ############# ############# Ρυθμίσεις πρόσβασης χρήστη ##################### ################################################################## ### # # # Το να επιτρέπεται/δεν επιτρέπεται ένας χρήστης καθορίζεται από τις οδηγίες # # DenyUsers, AllowUsers, DenyGroups και AllowGroups. # # σε αυτήν την περίπτωση, ο έλεγχος πηγαίνει από πάνω προς τα κάτω κατά μήκος της αλυσίδας: # # ## DenyUsers ## # # || # # ## AllowUsers ## # # || # # ## DenyGroups ## # # || # # ## AllowGroups ## # # Μόνο ονόματα χρηστών και ομάδων γίνονται δεκτά, τα αριθμητικά # # αναγνωριστικά (UserID) δεν αναγνωρίζονται. Διορθώστε την εγγραφή # # πολλών χρηστών/ομάδων με τη σειρά, διαχωρισμένες με # # κενά. Αν είναι γραμμένο με τη μορφή user@host, τότε # # ο χρήστης και ο κεντρικός υπολογιστής ελέγχονται ξεχωριστά, αυτό επιτρέπει στον # # να περιορίσει την πρόσβαση σε συγκεκριμένους χρήστες από # # συγκεκριμένους κεντρικούς υπολογιστές. Αξίζει να θυμάστε ότι οι οδηγίες # # DenyUsers και AllowUsers λαμβάνουν το όνομα # # του χρήστη ως παράμετρο, ενώ οι DenyGroups και AllowGroups λαμβάνουν το # # όνομα ομάδας. Δείτε PATTERNS in man ssh_config για περισσότερες # # πληροφορίες σχετικά με τις φόρμες για την εγγραφή ονομάτων χρηστών και ομάδων. # # # ## DenyUsers ############################################################### ### # # # Λίστα ΧΡΗΣΤΩΝ που ΔΕΝ ΜΠΟΡΟΥΝ να χρησιμοποιήσουν sshd. # # Προεπιλογή - δεν καθορίζεται = κανείς δεν έχει αποκλειστεί. Εκείνοι. εάν εδώ ορίζεται # # ένας χρήστης, τότε θα του απαγορεύεται η πρόσβαση # # στον διακομιστή ssh. # # # ## AllowUsers ############################################################## ## # # # Λίστα ΧΡΗΣΤΩΝ που ΜΠΟΡΟΥΝ να χρησιμοποιήσουν sshd, # # Από προεπιλογή - δεν καθορίζεται = επιτρέπεται σε όλους. Εκείνοι. εάν έχει καθοριστεί # # τουλάχιστον ένας χρήστης, η πρόσβαση ssh στον διακομιστή # # είναι διαθέσιμη μόνο σε αυτόν τον χρήστη. # # # ## DenyGroups ############################################################### ## # # # Λίστα ΟΜΑΔΩΝ που ΔΕΝ πρέπει να χρησιμοποιούνται από το sshd. # # Προεπιλογή - δεν καθορίζεται = καμία ομάδα δεν απαγορεύεται. # # Δηλαδή Εάν έχει καθοριστεί τουλάχιστον μία ομάδα, τότε στους χρήστες # # που περιλαμβάνονται σε αυτήν την ομάδα θα απαγορεύεται η πρόσβαση στον διακομιστή ssh # #. # # # ## Επιτρέπονται ομάδες ################################################################ # # # # Λίστα ΟΜΑΔΩΝ που ΜΠΟΡΕΙ να χρησιμοποιήσει το sshd. # # Προεπιλογή - δεν καθορίζεται = επιτρέπεται σε όλους. Εκείνοι. εάν έχει καθοριστεί # # τουλάχιστον μία ομάδα, τότε μόνο οι χρήστες# # που περιλαμβάνονται σε αυτήν θα έχουν πρόσβαση στον διακομιστή ssh.# # # ################## ################################################################## ### Επιλογές που καθορίζουν την κατάσταση σύνδεσης ################################################################## ####### ######################## # # ## TCPKeepAlive ############## ######### ######################## # # # Υποδεικνύει εάν το σύστημα πρέπει να στείλει Μηνύματα TCP στον πελάτη # # για να διατηρηθεί η σύνδεση. Εάν στείλετε αυτά τα πακέτα, # #, μπορείτε να εντοπίσετε μια αποτυχία σύνδεσης. Ωστόσο, αυτό επίσης # # σημαίνει ότι η σύνδεση μπορεί να διακοπεί σε περίπτωση στιγμιαίας διακοπής # # δρομολόγησης και # # αυτό είναι πολύ ενοχλητικό για ορισμένους. Από την άλλη πλευρά, αν δεν αποσταλούν # # τέτοια μηνύματα, οι συνεδρίες στον διακομιστή μπορούν # # να διαρκέσουν επ’ αόριστον, δημιουργώντας # # χρήστες «φαντάσματα» και καταβροχθίζοντας πόρους διακομιστή. Η προεπιλεγμένη τιμή είναι "ναι", # # δηλ. στείλτε τέτοια μηνύματα. Για να απενεργοποιήσετε την αποστολή # # τέτοιων μηνυμάτων, ορίστε την τιμή σε "όχι". Προηγουμένως αυτή η επιλογή # # ονομαζόταν KeepAlive. Αξίζει να σημειωθεί ότι # # υπάρχουν πιο ασφαλείς τρόποι για να ελέγξετε την κατάσταση της # # σύνδεσης (δείτε παρακάτω). # # # TCPKeepAlive ναι # # ## ClientAliveCountMax ############################################################## # Ορίζει τον αριθμό των μηνυμάτων στους πελάτες που στέλνει το sshd # # στη σειρά χωρίς να λαμβάνει καμία απάντηση από τον # # τον πελάτη. Εάν επιτευχθεί το όριο και το # # ο πελάτης εξακολουθεί να μην ανταποκρίνεται, το sshd θα αποσυνδέσει τον πελάτη, τερματίζοντας την περίοδο λειτουργίας # # ssh. Αξίζει να σημειωθεί ότι η χρήση τέτοιων # # μηνυμάτων είναι εντελώς διαφορετική από την οδηγία TCPKeepAlive. # # Τα μηνύματα προς/από πελάτες αποστέλλονται μέσω ενός κρυπτογραφημένου καναλιού # # και επομένως δεν υπόκεινται σε πλαστογράφηση. Τα μηνύματα # # TCPKeepAlive είναι επιρρεπή σε πλαστογράφηση. Ο μηχανισμός client alive # # είναι ιδιαίτερα πολύτιμος σε περιπτώσεις όπου ο διακομιστής και ο πελάτης χρειάζονται # # για να γνωρίζουν πότε η σύνδεση έχει καταστεί ανενεργή. Η προεπιλεγμένη τιμή # # είναι 3. Σε περίπτωση που το ClientAliveInterval # # οριστεί στο 15 και το ClientAliveCountMax παραμείνει στην προεπιλογή # #, οι πελάτες που δεν ανταποκρίνονται θα αποσυνδεθούν μετά από περίπου # # 45 δευτερόλεπτα. Αυτή η οδηγία λειτουργεί μόνο για # # το πρωτόκολλο ssh2. # # # ## ClientAliveInterval ###################################### # # # Σετ το χρονικό διάστημα σε δευτερόλεπτα. Εάν δεν υπάρχει επικοινωνία με τον πελάτη κατά τη διάρκεια # # αυτού του διαστήματος, το sshd # # στέλνει ένα μήνυμα μέσω ενός κρυπτογραφημένου καναλιού ζητώντας απάντηση # # από ​​τον πελάτη. Η προεπιλογή είναι 0, δηλ. # # μην στέλνετε τέτοια μηνύματα. Αυτή η οδηγία λειτουργεί # # μόνο για το πρωτόκολλο ssh2. # # # ################################################################ ############# ################ Γενικές επιλογές ελέγχου ταυτότητας ################## ################################################################## ######## # # ## AuthorizedKeysFile ########################################################### # # # # Καθορίζει ένα αρχείο που περιέχει δημόσια κλειδιά # # που χρησιμοποιούνται για τον έλεγχο ταυτότητας χρηστών. Η οδηγία # # μπορεί να περιέχει διακριτικά της μορφής %M, τα οποία εισάγονται κατά τη διαδικασία δημιουργίας σύνδεσης # #. # # Ορίζονται τα ακόλουθα διακριτικά: # # %% - αντικαταστάθηκε με το κυριολεκτικό "%" # # %h - αντικαταστάθηκε με τον αρχικό κατάλογο # # του πιστοποιημένου χρήστη # # %u - αντικαταστάθηκε με το όνομα του πιστοποιημένου χρήστη # # Έτσι, το αρχείο κλειδιού μπορεί να οριστεί ως # # με απόλυτο τρόπο (δηλαδή ένα κοινόχρηστο αρχείο με κλειδιά) και # # δυναμικά - ανάλογα με τον χρήστη (δηλαδή ένα αρχείο # # για κάθε χρήστη). # # Η προεπιλογή είναι ".ssh/authorized_keys". # # Παράδειγμα για ένα αρχείο κλειδιού στο οικιακό φάκελοχρήστης: # # AuthorizedKeysFile %h/.ssh/authorized_key # # Παράδειγμα για ένα κοινόχρηστο αρχείο: # # AuthorizedKeysFile /etc/ssh/authorized_keys # # Δείτε την περιγραφή του αρχείου authorized_keys για περισσότερες # # πληροφορίες. # # # ## ChallengeResponseAuthentication ######################### # # # Καθορίζει εάν θα επιτρέπεται ο έλεγχος ταυτότητας πρόκλησης-απόκρισης # # ). Υποστηρίζονται όλοι οι # # τύποι ελέγχου ταυτότητας από το login.conf Η προεπιλογή είναι "ναι", δηλ. επιτρέπω. # # Στο Ubuntu - απενεργοποιήθηκε για λόγους ασφαλείας. # # # ChallengeResponseAuthentication no # # ## HostbasedUsesNameFromPacketOnly ######################## # # # Καθορίζει πώς ο διακομιστής πρέπει να αποκτήσει το όνομα κεντρικού υπολογιστή του πελάτη # # όταν ένα σχήμα ελέγχου ταυτότητας που βασίζεται στην επαλήθευση του κεντρικού υπολογιστή. # # Εάν οριστεί σε "ναι", το sshd θα # # χρησιμοποιήσει το όνομα κεντρικού υπολογιστή που παρέχεται από τον πελάτη κατά τον έλεγχο για αντιστοίχιση στα αρχεία # # ~/.shosts, ~/.rhosts ή /etc/hosts.equiv. # # (εκτέλεση ανάστροφης ανάλυσης DNS) Εάν οριστεί σε "no"# # - το sshd θα επιλύσει το όνομα από την ίδια τη σύνδεση TCP. # # Η προεπιλογή είναι "όχι". # # # ## IgnoreRhosts ################################################################# # # # Αποτρέπει τη χρήση των αρχείων .rhosts και .shosts # # σε έλεγχο ταυτότητας που βασίζεται σε κεντρικό υπολογιστή. # # (RhostsRSAAuthentication ή HostbasedAuthentication). # # Τα αρχεία /etc/hosts.equiv και /etc/ssh/shosts.equiv εξακολουθούν να χρησιμοποιούνται # #. # # Η προεπιλογή είναι "ναι". # # # IgnoreRhosts ναι # # ## IgnoreUserKnownHosts ################################################################ Υποδεικνύει εάν το sshd θα πρέπει να αγνοήσει το αρχείο χρήστη # # "known hosts" ~/.ssh/known_hosts κατά τη διάρκεια # # διαδικασίας ελέγχου ταυτότητας βάσει κεντρικού υπολογιστή # # (RhostsRSAAuthentication ή HostbasedAuthentication). # # Η προεπιλογή είναι "όχι". # # # ## PermitBlacklistedKeys ################################# # # # Υποδεικνύει εάν το sshd πρέπει να γίνει αποδεκτό κλειδιά μπήκαν στη μαύρη λίστα # # ως παραβιασμένα (γνωστά-συμβιβασμένα κλειδιά # # (βλ. ssh-vulnkey)). Εάν οριστεί σε "ναι" - # # προσπάθειες ελέγχου ταυτότητας με τέτοια κλειδιά θα καταγραφούν # # και θα γίνουν αποδεκτές, εάν οριστεί σε "όχι" - # # προσπάθειες ελέγχου ταυτότητας θα απορριφθούν. # # Η προεπιλογή είναι "όχι". # # # ## PermitEmptyPasswords ###################################### περίπτωση επιτρεπόμενου ελέγχου ταυτότητας με χρησιμοποιώντας κωδικό πρόσβασης, # # υποδεικνύει εάν είναι δυνατή η σύνδεση με κενό κωδικό πρόσβασης. # # Η προεπιλογή είναι "όχι". # # # PermitEmptyPasswords όχι # # ## PermitRootLogin ############################################################### # # # # Υποδεικνύει εάν είναι δυνατή η σύνδεση ssh ως υπερχρήστης # # (root). Μπορεί να λάβει τις ακόλουθες τιμές: # # «ναι» - ο υπερχρήστης μπορεί να συνδεθεί. Εφαρμόζεται το # # τρέχον καθολικό σχήμα ελέγχου ταυτότητας. # # # # "χωρίς κωδικό πρόσβασης" - ο υπερχρήστης μπορεί να συνδεθεί. # # Ο έλεγχος ταυτότητας με κωδικό πρόσβασης θα απενεργοποιηθεί για αυτό. # # # # "μόνο υποχρεωτικές εντολές" - ο υπερχρήστης θα μπορεί να συνδεθεί χρησιμοποιώντας έλεγχο ταυτότητας # # με βάση ένα δημόσιο κλειδί και # # μόνο εάν περάσει την εντολή που απαιτείται για να εκτελεστεί. # # Αυτό είναι βολικό στην εφαρμογή εφεδρικός , # # ακόμα και όταν η κανονική (δηλαδή όχι μέσω ssh) # # σύνδεση υπερχρήστη απαγορεύεται. Όλες οι άλλες μέθοδοι ελέγχου ταυτότητας # # για τον υπερχρήστη θα αποκλειστούν.# # # # «όχι» - ο υπερχρήστης δεν μπορεί να χρησιμοποιήσει ssh για να # # σύνδεση. # # # # Η προεπιλεγμένη τιμή είναι "ναι". # # # PermitRootLogin ναι # # ## Πρωτόκολλο ###################################################################################### ######## # # # Καθορίζει ποιο πρωτόκολλο πρέπει να χρησιμοποιεί το sshd. # # Πιθανές τιμές των '1' και '2' είναι ssh1 και ssh2 # # αντίστοιχα. Είναι δυνατή η ταυτόχρονη γραφή, οπότε ## οι τιμές θα πρέπει να διαχωρίζονται με κόμματα. # # Η προεπιλογή είναι "2.1". # # Αξίζει να σημειωθεί ότι η σειρά των πρωτοκόλλων στις # # εγγραφές δεν καθορίζει την προτεραιότητα, επειδή ο πελάτης επιλέγει ποιο # # από ​​πολλά πρωτόκολλα που προτείνει ο διακομιστής να χρησιμοποιήσει # # Η καταχώρηση "2,1" είναι απολύτως πανομοιότυπη με την καταχώρηση "1,2". # # # Πρωτόκολλο 2 # # ## UsePAM ########################################################### ######### # # # Ενεργοποιεί τη διεπαφή PAM (Διασύνδεση Μονάδας ελέγχου ταυτότητας με δυνατότητα σύνδεσης # #, εάν οριστεί σε "ναι", όλοι οι τύποι ελέγχου ταυτότητας # # εκτός από την επεξεργασία της ενότητας σύνδεσης και λογαριασμού # # έλεγχος ταυτότητας PAM). χρησιμοποιείται με βάση την # # πρόκληση-απάντηση (ChallengeResponseAuthentication και # # PasswordAuthentication) Επειδή Ο έλεγχος ταυτότητας # # πρόκλησης-απόκρισης στο PAM γενικά εξυπηρετεί τον ίδιο ρόλο # # με τον έλεγχο ταυτότητας με κωδικό πρόσβασης, θα πρέπει να απενεργοποιήσετε το # # είτε PasswordAuthentication είτε # # ChallengeResponseAuthentication. Αξίζει να σημειωθεί ότι # # εάν είναι ενεργοποιημένη η οδηγία UsePAM, δεν θα μπορείτε να εκτελέσετε το # # sshd ως χρήστης εκτός του root. # # Η προεπιλεγμένη τιμή είναι "όχι". # # # UsePAM ναι # # ## PasswordAuthentication ################################# # # # Υποδεικνύει εάν ενεργοποιήθηκε εάν ο έλεγχος ταυτότητας με χρήση κωδικού # #. # # Η προεπιλογή είναι "ναι". # # # ## Κλειδί κεντρικού υπολογιστή ############################################################## ##### # # # Καθορίζει το αρχείο που περιέχει το ιδιωτικό κλειδί κεντρικού υπολογιστή # # που χρησιμοποιείται από το SSH. Η προεπιλογή είναι /etc/ssh/ssh_host_key # # για το πρωτόκολλο ssh1 και /etc/ssh/ssh_host_rsa_key και # # /etc/ssh/ssh_host_dsa_key για το πρωτόκολλο ssh2. Αξίζει # # να σημειωθεί ότι το sshd δεν θα χρησιμοποιεί ένα αρχείο # # που είναι προσβάσιμο σε οποιονδήποτε άλλο εκτός από τον χρήστη. Μπορείτε # # να χρησιμοποιήσετε πολλά αρχεία με κλειδιά, τα κλειδιά είναι "rsa1" - # # για το πρωτόκολλο ssh1 και "dsa"/"rsa" για το πρωτόκολλο ssh2. # # # HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # # ############################# ### ###################################### Επιλογές πρωτοκόλλου SSH έκδοση 1 (ssh1) ### ########## ###################################################### ### #################### # ΔΕΝ ΣΥΝΙΣΤΑΤΑΙ ΑΝΕΠΙΦΥΛΑΚΤΑ η χρήση του πρωτοκόλλου ssh1. # # Το πρωτόκολλο ssh2 είναι πολύ πιο ασφαλές από το ssh1 # ############################################################# ## ###################### # ### KeyRegenerationInterval ##################### #### ######### # # # Για το πρωτόκολλο ssh1 - μία φορά τη συγκεκριμένη στιγμή # # δημιουργείται αυτόματα ένα νέο προσωρινό κλειδί διακομιστή # # (αν χρησιμοποιήθηκε). Αυτό γίνεται για να αποτραπεί # # η αποκρυπτογράφηση των παρεμποδισμένων συνεδριών, προκειμένου να # # αργότερα συνδεθείτε στο μηχάνημα με τις παραμέτρους αυτών των περιόδων σύνδεσης και # # να κλέψετε τα κλειδιά. Ένα τέτοιο κλειδί δεν αποθηκεύεται πουθενά (αποθηκεύεται στο # # ΕΜΒΟΛΟ). Αυτή η οδηγία καθορίζει τη διάρκεια ζωής # # του κλειδιού σε δευτερόλεπτα, μετά την οποία θα δημιουργηθεί ξανά # #. Εάν η τιμή οριστεί σε 0 - # #, το κλειδί δεν θα δημιουργηθεί ξανά. # # Η προεπιλεγμένη τιμή είναι 3600 (δευτερόλεπτα). # # # KeyRegenerationInterval 3600 # # ## RhostsRSAA έλεγχος ταυτότητας ################################ # # # Υποδεικνύει εάν ο έλεγχος ταυτότητας βασίζεται σε # # rhosts ή αρχεία /etc/hosts.equiv σε συνδυασμό με επιτυχή έλεγχο ταυτότητας # # κεντρικού υπολογιστή μέσω RSA. # # Σχετικό μόνο για το πρωτόκολλο ssh1. # # Η προεπιλογή είναι "όχι". # # # RhostsRSAA έλεγχος ταυτότητας όχι # # ## Έλεγχος ταυτότητας RSAA ##################################################################### ## # # # Υποδεικνύει εάν επιτρέπεται ο "καθαρός" έλεγχος ταυτότητας RSA. # # Σχετικό μόνο για το πρωτόκολλο ssh1. # # Η προεπιλογή είναι "ναι". # # # Έλεγχος ταυτότητας RSAA ναι # # ## ServerKeyBits ######################################################################################### ### # # # Καθορίζει τον αριθμό των bit στο προσωρινό κλειδί του διακομιστή για το # # το πρωτόκολλο ssh1. Ελάχιστη τιμή 512. # # Η προεπιλεγμένη τιμή είναι 1024. # ServerKeyBits 768 # # ############################################################ ######################## ########## Επιλογές πρωτοκόλλου SSH έκδοση 2 (ssh2) ###### # ##### ############################################################# ################# # # ## Κρυπτογράφηση ############################################## # #################### # # Υποδεικνύει τους αλγόριθμους κρυπτογράφησης που επιτρέπονται για το # # το πρωτόκολλο ssh2. Πολλοί αλγόριθμοι πρέπει να χωρίζονται με κόμμα # #. Υποστηριζόμενοι αλγόριθμοι: # # "3des-cbc", "aes128-cbc", "aes192-cbc", "aes256-cbc", # # "aes128-ctr", "aes192-ctr", "aes256-ctr", " arcfour128", # # "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc". # # Από προεπιλογή: # # aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128, # # arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr, #5cts -ctr # # # ## HostbasedAuthentication ################################# # # # Υποδεικνύει εάν ο έλεγχος ταυτότητας είναι ενεργοποιημένο , με βάση την επαλήθευση # # κεντρικού υπολογιστή. rhosts ή το /etc/hosts.equiv είναι επιλεγμένο, # # και εάν είναι επιτυχές, σε συνδυασμό με επιτυχή έλεγχο # # του δημόσιου κλειδιού, επιτρέπεται η πρόσβαση. Αυτή η οδηγία # # είναι η ίδια με την οδηγία RhostsRSAAuthentication και # # είναι κατάλληλη μόνο για το πρωτόκολλο ssh2. # # Η προεπιλογή είναι "όχι". # # # HostbasedAuthentication no # # ## MAC ############ # # # Υποδεικνύει έναν έγκυρο αλγόριθμο MAC (μήνυμα # # κωδικός ελέγχου ταυτότητας). Ο αλγόριθμος MAC χρησιμοποιείται # # από ​​το πρωτόκολλο ssh2 για την προστασία της ακεραιότητας των δεδομένων. Πολλοί αλγόριθμοι # # πρέπει να διαχωρίζονται με κόμμα. # # Προεπιλογή: # # hmac-md5,hmac-sha1, [email προστατευμένο] ,hmac-ripemd160, # # hmac-sha1-96,hmac-md5-96 # # # ## PubkeyAuthentication ######################### ########## # # # Υποδεικνύει εάν επιτρέπεται ο έλεγχος ταυτότητας με βάση το δημόσιο κλειδί # #. Σχετικό μόνο για το πρωτόκολλο ssh2. # # Η προεπιλογή είναι "ναι". # # # PubkeyAuthentication ναι ################################################################### #################################### Επιλογές GSSAPI ############ ## ################################################################# ## ######################## # # ############ Ισχύει μόνο για το πρωτόκολλο ssh2 #### #### ### # # ## Επαλήθευση ταυτότητας GSSAPIA ############################################################# ## # # # Υποδεικνύει εάν ο έλεγχος ταυτότητας χρήστη # # βασίζεται ή όχι στο GSSAPI. Η προεπιλογή είναι "όχι", δηλ. απαγορευμένος. # # # ## GSAPIKeyExchange ################################################################## # # Υποδεικνύει εάν επιτρέπεται η ανταλλαγή κλειδιών με βάση το # # GSSAPI. Η ανταλλαγή κλειδιών με χρήση GSSAPI δεν βασίζεται σε # # κλειδιά ssh για την επαλήθευση της ταυτότητας του κεντρικού υπολογιστή. # # Η προεπιλογή είναι "όχι" - δηλ. η ανταλλαγή απαγορεύεται. # # # ## GSSAPICleanupCredentials ############################## # # # Καθορίζει εάν θα καταστρέφεται αυτόματα η κρυφή μνήμη χρήστη # # των διαπιστευτηρίων ελέγχου ταυτότητας όταν τελειώσει # # περίοδος λειτουργίας. # # Η προεπιλογή είναι "ναι" - δηλ. πρέπει να καταστραφεί. # # # ## GSSAPIStrictAcceptorCheck ############################## # # # Καθορίζει πόσο αυστηρός πρέπει να είναι ο έλεγχος ταυτότητας # # πελάτης κατά τον έλεγχο ταυτότητας μέσω GSSAPI. # # Η τιμή "ναι" προκαλεί τον έλεγχο ταυτότητας του πελάτη στην υπηρεσία υποδοχής υποδοχής # # στον τρέχοντα κεντρικό υπολογιστή. Η τιμή "no" # # επιτρέπει στον πελάτη να πραγματοποιήσει έλεγχο ταυτότητας χρησιμοποιώντας οποιοδήποτε κλειδί υπηρεσίας # #. # # Η προεπιλεγμένη τιμή είναι "ναι". # # Αξίζει να σημειωθεί ότι η ρύθμιση σε "όχι" μπορεί # # να λειτουργεί μόνο με σπάνιες βιβλιοθήκες Kerberos GSSAPI. # # # ################################################################ ############# ################### Επιλογές Kerberos ################# ################################################################## ### ################### # # ## KerberosAuthentication ####################### ### ######## # # # Υποδεικνύει εάν ο κωδικός πρόσβασης # # που παρέχεται από τον χρήστη για έλεγχο ταυτότητας # # (PasswordAuthentication) απαιτεί επικύρωση στο Kerberos KDC. # # Για να χρησιμοποιήσετε αυτήν την επιλογή, ο διακομιστής πρέπει να # # επαληθεύσει ότι το KDC είναι αληθές. (Ο διακομιστής χρειάζεται μια καρτέλα # # Kerberos servis που επιτρέπει την επαλήθευση της ταυτότητας του # # KDC) # # Η προεπιλογή είναι "όχι". # # # ## KerberosGetAFSToken ###################################### # # # Αν Το AFS είναι ενεργό και ο χρήστης έχει λάβει ένα Kerberos 5 TGT, # # εάν θα επιχειρήσει να αποκτήσει ένα διακριτικό AFS πριν ο χρήστης # # έχει πρόσβαση στον αρχικό του φάκελο. # # Η προεπιλογή είναι "όχι". # # # ## KerberosOrLocalPasswd ################################# # # # Υποδεικνύει τι πρέπει να κάνετε σε περίπτωση του εάν αποτύχει ο έλεγχος ταυτότητας # # μέσω Kerberos. Εάν # # value = "ναι", ο κωδικός πρόσβασης θα επαληθευτεί χρησιμοποιώντας # # οποιονδήποτε πρόσθετο μηχανισμό τοπικής εξουσιοδότησης, # # για παράδειγμα /etc/passwd. # # Η προεπιλογή είναι "ναι". # # # ## KerberosTicketCleanup ################################# # # # Υποδεικνύει εάν θα γίνει αυτόματη θανάτωση αρχείου με # # προσωρινή μνήμη εισιτηρίου χρήστη στο τέλος της περιόδου σύνδεσης. # # Η προεπιλογή είναι "ναι". # # # ################################################################ ############# ################# Επιλογές ανακατεύθυνσης ################## ### ############################################################### ## ############# # # ## AllowAgentForwarding ############################# #### ### # # Υποδεικνύει εάν θα επιτρέπεται ή θα απενεργοποιείται η ανακατεύθυνση # # ssh-agent Η προεπιλογή είναι "ναι", δηλαδή να επιτρέπεται # # Αξίζει να σημειωθεί ότι η απενεργοποίηση της ανακατεύθυνσης δεν θα αυξήσει την ασφάλεια Επίσης, η πρόσβαση στο # # κέλυφος θα απορριφθεί, επειδή θα μπορούν πάντα να εγκαταστήσουν # # τα δικά τους ανάλογα πράκτορα ############# # # # Καθορίζει εάν θα ενεργοποιηθεί ή θα απενεργοποιηθεί το TCP. ανακατεύθυνση # # Η προεπιλογή είναι "ναι", δηλαδή αξίζει να σημειωθεί ότι το # # είναι το ίδιο στην περίπτωση του AllowAgentForwarding, η απενεργοποίηση της ανακατεύθυνσης # # δεν θα αυξήσει την ασφάλεια εφόσον # # χρήστες έχουν πρόσβαση στην κονσόλα, επειδή μπορούν #. # εγκαθιστούν τα δικά τους αντίστοιχα # # # # ## GatewayPorts ##################################################. ####### # # # Καθορίζει εάν θα επιτρέπεται η πρόσβαση απομακρυσμένων κεντρικών υπολογιστών σε # # προωθημένες θύρες . Από προεπιλογή, το sshd ακούει # # για συνδέσεις σε προωθημένες θύρες μόνο στην τοπική διεπαφή βρόχου # #. Αυτό εμποδίζει άλλους απομακρυσμένους # # κεντρικούς υπολογιστές να συνδεθούν στις προωθημένες θύρες. Μπορείτε # # να χρησιμοποιήσετε το GatewayPorts για να επιτρέψετε στο sshd να το κάνει # # αυτό. Η οδηγία μπορεί να λάβει 3 τιμές: # # "no" - loopback μόνο. # # "ναι" - τυχόν διευθύνσεις. # # "clientspecified" - διευθύνσεις που καθορίζονται από τον πελάτη. # # # ## PermitOpen ############################################################## ### ## # # # Υποδεικνύει πού επιτρέπεται η προώθηση θύρας TCP. # # Ο καθορισμός μιας ανακατεύθυνσης πρέπει να έχει μία από τις # # τις ακόλουθες μορφές: # # PermitOpen host:port # # PermitOpen IPv4_addr:port # # PermitOpen :port # # Μπορούν να καθοριστούν πολλαπλές καταχωρήσεις διαχωρίζοντάς τις με κενά. # # Το όρισμα "οποιοδήποτε" μπορεί να χρησιμοποιηθεί για την κατάργηση όλων των # # περιορισμών στην προώθηση θύρας. Από προεπιλογή, επιτρέπεται οποιαδήποτε ανακατεύθυνση # #. # # # ## PermitTunnel ############################################################### # # # Υποδεικνύει εάν επιτρέπεται η ανακατεύθυνση των συσκευών συντονισμού. # # Μπορεί να λάβει τιμές: # # "ναι" # # "από σημείο σε σημείο" (3ο επίπεδο δικτύου) # # "ethernet" (2ο επίπεδο δικτύου) # # "όχι" # # Η τιμή "ναι" επιτρέπει και τα δύο "σημείο -to-point" # # και "ethernet" ταυτόχρονα. Η προεπιλογή είναι "όχι". # # # ################################################################ ############# ################## Επιλογές καταγραφής ################## ### ################################################################ ## ############# # # ## SyslogFacility ############################# ## ########## # # # Ορίζει τον κωδικό αντικειμένου αρχείου καταγραφής για τη σύνταξη μηνυμάτων σε # # syslog από sshd. Πιθανές τιμές: # # DAEMON # # USER # # AUTH # # LOCAL0 # # LOCAL1 # # LOCAL2 # # LOCAL3 # # LOCAL4 # # LOCAL5 # # LOCAL6 # # LOCAL7 # # Η προεπιλογή είναι AUTH. # # # SyslogFacility AUTH # # ## LogLevel ################################################################################################################# ######## # # # Ρυθμίζει το επίπεδο πολυγλωσσίας του αρχείου καταγραφής sshd. # # Πιθανές επιλογές: # # SILENT # # QUIET # # FATAL # # ERROR # # INFO # # VERBOSE # # DEBUG # # DEBUG1 # # DEBUG2 # # DEBUG3 # # Η προεπιλογή είναι INFO. # # DEBUG και DEBUG1 είναι ισοδύναμα μεταξύ τους. # # DEBUG2 και DEBUG3 έχουν οριστεί τα περισσότερα υψηλά επίπεδα Έξοδος εντοπισμού σφαλμάτων # #. Η καταγραφή σε επίπεδο DEBUG απειλεί το απόρρητο # # χρήστη και δεν συνιστάται. # # # LogLevel INFO # # ############################################################## ################################### Ανακατεύθυνση X11 ############# ################################################################## # ################### # # ## X11Προώθηση ######################## ### ################ # # # Υποδεικνύει εάν είναι ενεργοποιημένη η ανακατεύθυνση υποσυστήματος γραφικών X11 # #. Μπορεί να λάβει τις τιμές "ναι" ή "όχι". # # Η προεπιλογή είναι "όχι". # # Προσοχή - η ενεργοποίηση της απλής ανακατεύθυνσης X11 αποτελεί # # μεγάλο κίνδυνο τόσο για τον διακομιστή όσο και για τους πελάτες, επειδή Σε # # τέτοια ανακατεύθυνση, η οθόνη διακομιστή μεσολάβησης sshd # # δέχεται συνδέσεις από οποιεσδήποτε διευθύνσεις. Χρησιμοποιήστε # # την οδηγία X11UseLocalhost για να περιορίσετε την πρόσβαση στον διακομιστή ανακατεύθυνσης του # # X. Αξίζει να σημειωθεί ότι η απενεργοποίηση της ανακατεύθυνσης # # δεν εγγυάται ότι οι # # χρήστες δεν θα μπορούν να ανακατευθύνουν το X11, επειδή έχοντας # # πρόσβαση κονσόλας, εγκαθιστούν πάντα το δικό τους # # redirector. Η ανακατεύθυνση X11 θα απενεργοποιηθεί αυτόματα # # εάν είναι ενεργοποιημένη η οδηγία UseLogin # #. # # # X11Προώθηση ναι # # ## X11UseLocalhost ############################################################### # # # # Υποδεικνύει εάν το sshd θα πρέπει να περιορίζει το εύρος της προώθησης # # X11 σε μια τοπική διεύθυνση βρόχου ή το # # θα πρέπει να επιτρέπει οποιεσδήποτε διευθύνσεις. Από προεπιλογή, το sshd # # ορίζει τον διακομιστή ανακατεύθυνσης X11 σε μια τοπική διεύθυνση # # και ορίζει το τμήμα ονόματος κεντρικού υπολογιστή της μεταβλητής περιβάλλοντος DISPLAY # # σε "localhost". Αξίζει να σημειωθεί ότι # # ορισμένοι παλαιότεροι πελάτες X11 ενδέχεται να μην λειτουργούν με αυτές τις ρυθμίσεις # #. Η προεπιλογή είναι "ναι", δηλ. η ανακατεύθυνση # # περιορίζεται από τον localhost, η τιμή - "no" - απενεργοποιεί τους # # περιορισμούς. # # # ## XAuthLocation #################################################################### # # # Καθορίζει την πλήρη διαδρομή προς το πρόγραμμα xauth. # # Η προεπιλογή είναι /usr/bin/X11/xauth. # # # ## X11DisplayOffset ################################################################## Υποδεικνύει τον αριθμό της πρώτης οθόνης που είναι διαθέσιμη για sshd ως ανακατεύθυνση # # X11. Αυτό γίνεται έτσι ώστε # # να μην επικαλύπτονται τα ανακατευθυνόμενα X με # # πραγματικά. Η προεπιλογή είναι 10. # # # X11DisplayOffset 10 # # ############################################################## ####################################### Διάφορες επιλογές ######## ################################################################## ## ########################### # # ## LoginGraceTime ################ #### ######################## # # # # Χρόνος μετά τον οποίο ο διακομιστής αποσυνδέει # # τον χρήστη εάν δεν μπορούσε να συνδεθεί # # ικανοποιητικά. Τιμή 0 - επιτρέπει στον χρήστη # # να συνδεθεί επ' αόριστον. Η προεπιλογή είναι 120 (δευτερόλεπτα). # # # LoginGraceTime 120 # # ## MaxAuthTries ############################################################### ### #### # # # Υποδεικνύει τον μέγιστο αριθμό προσπαθειών ελέγχου ταυτότητας # # που επιτρέπονται ανά σύνδεση. # # Μόλις ο αριθμός των αποτυχημένων προσπαθειών υπερβεί το ήμισυ της καθορισμένης τιμής # #, όλες οι επόμενες προσπάθειες θα καταγραφούν # #. Η προεπιλεγμένη τιμή είναι 6. # # # ## MaxSessions ############################################################### ####### # # # Καθορίζει τον μέγιστο αριθμό ταυτόχρονων συνδέσεων # # για κάθε σύνδεση δικτύου. Η προεπιλογή είναι 10. # # # ## MaxStartups ############################################################### ###### # # # Καθορίζει τον μέγιστο αριθμό ταυτόχρονων # # μη εξουσιοδοτημένων συνδέσεων στο sshd. Εάν # # ο αριθμός των συνδέσεων υπερβαίνει το όριο, όλες οι πρόσθετες # # συνδέσεις θα απορριφθούν έως ότου ολοκληρωθούν οι τρέχουσες # # συνδέσεις είτε με επιτυχή εξουσιοδότηση # # είτε η χρονική περίοδος που καθορίζεται στην οδηγία # # LoginGraceTime έχει λήξει. Η προεπιλεγμένη τιμή είναι 10. # # Προαιρετικά, μπορείτε να ρυθμίσετε τις συνδέσεις να επαναφέρονται νωρίς με # # καθορίζοντας τρεις τιμές ως παράμετρο, διαχωρισμένες από το # # με άνω και κάτω τελεία «start:rate:full» (για παράδειγμα: «10:30 :60"). Το # # sshd θα απορρίψει μια προσπάθεια σύνδεσης με πιθανότητα ίση με # # "rate/100" (δηλαδή 30% στο παράδειγμά μας) εάν υπάρχουν ήδη # # "start" (10) μη εξουσιοδοτημένες συνδέσεις. # # Η πιθανότητα αυξάνεται γραμμικά και κάθε προσπάθεια σύνδεσης # # θα απορριφθεί εάν ο αριθμός των μη εξουσιοδοτημένων # # συνδέσεων φτάσει σε "πλήρη" (60). # # # ## Συμπίεση ############################################################# # # # # Υποδεικνύει εάν είναι ενεργοποιημένη η συμπίεση δεδομένων. Μπορεί να είναι # # "ναι" - η συμπίεση είναι ενεργοποιημένη. # # "καθυστερημένη" - η συμπίεση καθυστερεί μέχρι το # # να πιστοποιηθεί επιτυχώς η ταυτότητα του χρήστη. # # "όχι" - η συμπίεση είναι απενεργοποιημένη. # # Η προεπιλογή είναι "καθυστερημένη". # # # ## UseLogin ############################################################# #### # # # Υποδεικνύει εάν η σύνδεση πρέπει να χρησιμοποιείται για μια διαδραστική περίοδο λειτουργίας # #. Η προεπιλεγμένη τιμή είναι "όχι". # # Αξίζει να σημειωθεί ότι η σύνδεση δεν χρησιμοποιήθηκε ποτέ για την εκτέλεση # # απομακρυσμένες εντολές. Σημειώστε επίσης ότι το # # χρησιμοποιώντας τη σύνδεση θα καταστήσει αδύνατη τη χρήση # # της οδηγίας X11Forwarding, επειδή η σύνδεση δεν ξέρει τι να κάνει # # με το xauth. Εάν η οδηγία # # UsePrivilegeSeparation είναι ενεργοποιημένη, θα απενεργοποιηθεί μετά την εξουσιοδότηση # #. # # # ## UsePrivilegeSeparation #################################### # # # Καθορίζει εάν sshd θα πρέπει να διαχωρίζονται τα προνόμια. Εάν ναι # # τότε θα δημιουργηθεί πρώτα μια μη προνομιακή θυγατρική διεργασία # # για την εισερχόμενη διαδικασία κυκλοφορίας δικτύου. Μετά την επιτυχή εξουσιοδότηση # #, θα δημιουργηθεί μια άλλη διαδικασία με τα δικαιώματα # # του συνδεδεμένου χρήστη. Ο κύριος σκοπός του διαχωρισμού των προνομίων # # είναι να αποτραπεί η κατάχρηση δικαιωμάτων πρόσβασης. # # Η προεπιλεγμένη τιμή είναι "ναι". # # # UsePrivilegeSeparation ναι # # ## StrictModes ############################################################### ##### # # # Υποδεικνύει εάν το sshd πρέπει να ελέγξει την πρόσβαση και τις # # λειτουργίες ιδιοκτησίας προσαρμοσμένους φακέλους και αρχεία πριν από το # # επιτρέποντας στον χρήστη να συνδεθεί. Αυτό συμβαίνει συνήθως επειδή # # αρχάριοι κάνουν συχνά τα αρχεία τους εγγράψιμα # # από ​​όλους Η προεπιλογή είναι "ναι". # # # StrictModes ναι # # ## AcceptEnv ####################################################################################### ####### # # # Καθορίζει ποιες μεταβλητές περιβάλλοντος πέρασαν το # # από ​​τον πελάτη θα γίνουν αποδεκτές. Δείτε την επιλογή SendEnv στον πελάτη. # # Αξίζει να σημειωθεί ότι η μετάδοση μεταβλητών είναι δυνατή μόνο # # για το πρωτόκολλο ssh2. Οι μεταβλητές καθορίζονται με το όνομα, μπορούν να χρησιμοποιηθούν # # μάσκες ('*' και '?'). Μπορείτε να καθορίσετε # # πολλές μεταβλητές διαχωρισμένες με κενά ή να χωρίσετε το AcceptEnv σε # # πολλές γραμμές. Να είστε προσεκτικοί - μερικές # # μεταβλητές περιβάλλοντος μπορούν να χρησιμοποιηθούν για να παρακάμψουν # # απαγορευμένα περιβάλλοντα χρήστη. Χρησιμοποιήστε αυτήν την οδηγία # # προσεκτικά. Από προεπιλογή, καμία # # μεταβλητή περιβάλλοντος χρήστη δεν γίνεται αποδεκτή. # # # AcceptEnv LANG LC_* # # ## PermitUserEnvironment ############################################################# Καθορίζει εάν το sshd πρέπει να δέχεται την επιλογή # # ~/.ssh/environment και το περιβάλλον= στα # # ~/.ssh/authorized_keys. Η προεπιλογή είναι "όχι". Αξίζει # # να σημειωθεί ότι η ενεργοποίηση της επεξεργασίας περιβάλλοντος μπορεί να δώσει στους # # χρήστες τη δυνατότητα να παρακάμψουν περιορισμούς σε ορισμένες # # διαμορφώσεις που χρησιμοποιούν μηχανισμούς όπως το # # LD_PRELOAD. # # # # # ## PidFile ########################################################### ######## # # # Καθορίζει ένα αρχείο που περιέχει το αναγνωριστικό διεργασίας # # (αναγνωριστικό διεργασίας, PID) του δαίμονα SSH. # # Προεπιλογή - /var/run/sshd.pid # # # # # ## PrintLastLog ########################### ############## # # # Καθορίζει εάν το sshd θα εμφανίζει την ημερομηνία και την ώρα # # της τελευταίας περιόδου λειτουργίας όταν ο χρήστης καταγράφει διαδραστικά. # # Η προεπιλογή είναι "ναι". # # # PrintLastLog ναι # # ## PrintMotd ####################################################################################### ####### # # # Καθορίζει εάν το sshd θα εμφανίζει το /etc/motd # # όταν ένας χρήστης συνδέεται διαδραστικά. Σε ορισμένα # # συστήματα (για παράδειγμα Ubuntu) αυτές οι πληροφορίες εμφανίζονται επίσης # # από ​​το κέλυφος. # # Η προεπιλεγμένη τιμή είναι "ναι". # # # PrintMotd no # # ## Banner ########################################################## ########## # # # Υποδεικνύει ποιο αρχείο περιέχει ένα banner κειμένου που το # # θα εμφανιστεί στον χρήστη ΠΡΙΝ τη διαδικασία ελέγχου ταυτότητας # #. Η επιλογή είναι διαθέσιμη μόνο για το πρωτόκολλο ssh2.# # Από προεπιλογή - δεν εμφανίζει τίποτα. # # Στο Ubuntu, το αρχείο issue.net περιέχει τη φράση Ubuntu (έκδοση), # # για παράδειγμα, για καρμικά είναι "Ubuntu 9.10". Μπορεί το # # να χρησιμοποιηθεί για να αποπροσανατολίσει πιθανούς εισβολείς, # # γράφοντας εκεί, για παράδειγμα, "My D-Link Interet Router" =) # # # Banner /etc/issue.net # # ## ChrootDirectory ###### ##### ############################# # # # Αν ορίζεται, παρέχει τη διαδρομή για το # # να γίνει chroot μετά τον έλεγχο ταυτότητας. Η διαδρομή και όλα τα περιεχόμενά της # # πρέπει να αντιστοιχούν στους φακέλους # # που ανήκουν στον υπερχρήστη και να μην είναι # # εγγράψιμο από άλλους χρήστες. # # Η διαδρομή μπορεί να περιέχει ετικέτες που αντικαθίστανται κατά τη διάρκεια της διαδικασίας ελέγχου ταυτότητας # #: # # %% - αντικαταστάθηκε με το κυριολεκτικό "%" # # %h - αντικαταστάθηκε με τον αρχικό κατάλογο # # του πιστοποιημένου χρήστη # # %u - αντικαταστάθηκε με το όνομα του επαληθευμένου χρήστη # # chroot -ο φάκελος πρέπει να περιέχει όλα τα απαραίτητα αρχεία και # # φακέλους για την περίοδο λειτουργίας χρήστη. Μια διαδραστική # # συνεδρία απαιτεί τουλάχιστον: # # ένα κέλυφος, συνήθως sh # # βασικές συσκευές στο /dev, όπως: # # null, zero, stdin, stdout, stderr, τυχαία και tty # # για μια περίοδο λειτουργίας μεταφοράς δεδομένων με χρήση sftp, δεν χρειάζονται # # πρόσθετες ρυθμίσεις εάν χρησιμοποιείται η διαδικασία εσωτερικού διακομιστή sftp # #. Δείτε το Υποσύστημα για # # περισσότερες πληροφορίες. Από προεπιλογή, το chroot δεν εκτελείται. # # # ## ForceCommand ############################################################## # # # Προκαλεί την εκτέλεση της καθορισμένης εντολής. Αγνοεί # # τυχόν εντολές που αποστέλλονται από τον πελάτη ή έχουν γραφτεί στο # # ~/.ssh/rc. Η εντολή καλείται από το # # κέλυφος του χρήστη με την επιλογή -c. Κατάλληλο για εκκίνηση κελύφους, εντολής # # ή υποσυστήματος. Πιο χρήσιμο μέσα σε ένα μπλοκ # # Match. Η εντολή που εκδόθηκε αρχικά από τον πελάτη αποθηκεύεται # # στη μεταβλητή περιβάλλοντος SSH_ORIGINAL_COMMAND. Εάν καθορίσετε # # την εντολή "internal-sftp", θα ξεκινήσει ο # # εσωτερικός διακομιστής sftp, ο οποίος δεν χρειάζεται τα πρόσθετα # # αρχεία και φακέλους που περιγράφονται στην οδηγία ChrootDirectory. # # # ## Υποσύστημα ############################################################# ### # # # Καθορίζει και διαμορφώνει ένα εξωτερικό υποσύστημα (για παράδειγμα # # δαίμονας μεταφοράς αρχείων). # # Τα ορίσματα είναι το όνομα και η εντολή (με πιθανά # # ορίσματα) που θα εκτελεστούν όταν ζητούνται # # υποσυστήματα. Η εντολή sftp-server ξεκινά το υποσύστημα μεταφοράς αρχείων «sftp» - # #. Επιπλέον, μπορείτε να καθορίσετε # # "internal-sftp" ως υποσύστημα - το οποίο θα εκκινήσει # # τον εσωτερικό διακομιστή sftp. Αυτό μπορεί να απλοποιήσει σημαντικά τη διαμόρφωση # # όταν χρησιμοποιείτε την οδηγία # # ChrootDirectory Από προεπιλογή, δεν καλούνται υποσυστήματα # #. Σχετικό μόνο για το πρωτόκολλο ssh2. # # # Υποσύστημα sftp /usr/lib/openssh/sftp-server # # ######################################################### ############################################### Ταίριασμα Αποκλεισμός ################################################################### ## ################################### # # # Το μετακίνησα ειδικά στο τέλος του το αρχείο για να είναι πιο βολικό # # γράψτε Κανόνες αντιστοίχισης. # # MadKox. # # # # Η οδηγία Match αντιπροσωπεύει την έναρξη ενός μπλοκ υπό όρους # #. Εάν πληρούνται όλα τα κριτήρια που καθορίζονται στη γραμμή # # Match, εκτελούνται οι οδηγίες στις επόμενες γραμμές του μπλοκ, # # επιτρέποντας την παράκαμψη των τιμών των καθολικών οδηγιών στο αρχείο # # sshd_config για την περίπτωση που είναι η κριτήρια για την οδηγία # # Match. Ένα μπλοκ θεωρείται ότι είναι όλες οι γραμμές που έρχονται μετά τη γραμμή # # με το κριτήριο (Match - lines) στην επόμενη γραμμή αντιστοίχισης # # ή στο τέλος του αρχείου. Το όρισμα της οδηγίας Match είναι ένα ή # # πολλαπλά ζεύγη καταχωρήσεων κριτηρίων. Πιθανοί τύποι καταχωρήσεων: # # Χρήστης # # Ομάδα # # Κεντρικός υπολογιστής # # Διεύθυνση # # Οι καταχωρήσεις μπορούν να περιέχουν είτε μεμονωμένες τιμές # # (για παράδειγμα Χρήστης=χρήστης) είτε πολλαπλές τιμές # # διαχωρισμένες με κόμμα (Χρήστης=χρήστης1 ,χρήστης 2). Οι τυπικές εκφράσεις που περιγράφονται στην ενότητα # # PATTERNS του αρχείου ssh_config μπορούν επίσης να χρησιμοποιηθούν # #. Οι καταχωρίσεις στα κριτήρια διεύθυνσης # # μπορούν να περιέχουν διευθύνσεις σε σημειογραφία CIDR # # (Διεύθυνση/Μήκος Μάσκας, π.χ. "192.0.2.0/24" ή # # "3ffe:ffff::/32"). Αξίζει να σημειωθεί ότι το παρεχόμενο μήκος μάσκας # # πρέπει να ταιριάζει με τη διεύθυνση και ότι το # # long/short για τη διεύθυνση δεν θα λειτουργήσει. # # Οι οδηγίες αντιστοίχισης μπορούν να χρησιμοποιούν μόνο # # συγκεκριμένο σύνολοοδηγίες: # # AllowTcpForwarding # # Banner # # ChrootDirectory # # ForceCommand # # GatewayPorts # # GSSAPIA authentication # # HostbasedAuthentication # # KbdInteractiveAuthentication # # KerberosAuthentication ##MaxAuthSmitation #Authentication otLogin # # authentication # # RSAAuthentication # # X11DisplayOffset # # X11Forwarding # # X11UseLocalHost #

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

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

Port, ListenAddress και AddressFamily

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

ΔιεύθυνσηFamily inet

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

Λιμάνι 2002

ListenAddress 192.168.0.1:2003 ListenAddress 192.168.1.1:2004

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

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

PermitRootLogin αρ

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

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

Κωδικός Αυθεντικοποίησης αρ

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

PermitEmptyPasswords αρ

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

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

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

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

PubkeyAuthentication ναι

Ο διακομιστής πρέπει να γνωρίζει πού να αναζητήσει το δημόσιο κλειδί του χρήστη. Για το σκοπό αυτό χρησιμοποιείται ειδικό αρχείο authorized_keys. Η σύνταξή του θα μπορούσε να είναι η εξής:

# Τα σχόλια γράφονται μόνο σε μια νέα γραμμή # γενική εμφάνιση καταχωρήσεων στο αρχείο εξουσιοδοτημένων_κλειδιών # [επιλογές] key_type (ssh-rsa ή ssh-dss) very_long_string_ακατανόητο για τον απλό άνθρωπο [login@host] ssh-rsa AAAAB3Nza...LiPk == [email προστατευμένο] from="*.sales.example.net,!pc.sales.example.net" ssh-rsa AAAAB2...19Q== [email προστατευμένο] command="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== example.net permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh -dss AAAAB5...21S== tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...== [email προστατευμένο]

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

AuthorizedKeysFile %h/.ssh/my_keys

για το αρχείο χρήστη σχήματος
ή

AuthorizedKeysFile /etc/ssh/authorized_keys

για ένα σχήμα με κοινόχρηστο αρχείο. Από προεπιλογή, ο πελάτης SSH αναζητά κλειδιά στο αρχείο ~/.ssh/authorized_keys.

Περισσότερα για την ασφάλεια

Πρόσθετες ρυθμίσεις

Χρήστες και ομάδες.

Εάν έχετε πολλούς χρήστες που "ζουν" στον διακομιστή σας και θέλετε να επιτρέψετε την πρόσβαση μέσω ssh σε λίγους μόνο από αυτούς, μπορείτε να χρησιμοποιήσετε τις οδηγίες DenyUsers, AllowUsers, DenyGroups και AllowGroups. Για περισσότερες πληροφορίες σχετικά με αυτές τις οδηγίες, δείτε τα σχόλια στο παράδειγμα sshd_config.

Επιλογές κατάστασης σύνδεσης

Από προεπιλογή, μεταξύ των μεθόδων για τον προσδιορισμό της κατάστασης σύνδεσης, είναι ενεργοποιημένη μόνο η μέθοδος ελέγχου σύνδεσης TCP - TCPKeepAlive, ωστόσο, το sshd μπορεί να προσδιορίσει τις καταστάσεις σύνδεσης με πιο βολικούς και ασφαλείς τρόπους. Δείτε την αντίστοιχη ενότητα στο παράδειγμα sshd_config για περισσότερες λεπτομέρειες.

Εκτέλεση. MaxStartups

Port Forwarding

Ανακατεύθυνση X11

Στον διακομιστή, στο αρχείο /etc/ssh/sshd_config, ορίστε την παράμετρο (ενεργοποιημένη από προεπιλογή):

ForwardX11 ναι

Στον πελάτη, ορίστε τις παραμέτρους στο αρχείο /etc/ssh/ssh_config (απενεργοποιημένο από προεπιλογή):

ForwardAgent ναι ForwardX11 ναι

Μπορείτε να το εκτελέσετε στον πελάτη ως εξής: ssh yurauname@serverip firefox . Ή πρώτα μεταβείτε στο ssh yurauname@serverip και μετά εκτελέστε, για παράδειγμα, το sudo synaptic .

SFTP

Το sshd έχει έναν ενσωματωμένο διακομιστή SFTP από προεπιλογή. Πρωτόκολλο SFTP(SSH File Transfer Protocol) - Πρωτόκολλο SSH για τη μεταφορά αρχείων. Έχει σχεδιαστεί για να αντιγράφει και να εκτελεί άλλες λειτουργίες αρχείων μέσω αξιόπιστης και ασφαλούς σύνδεσης. Κατά κανόνα, το πρωτόκολλο SSH2 χρησιμοποιείται ως βασικό πρωτόκολλο που παρέχει τη σύνδεση. Για να ενεργοποιήσετε την υποστήριξη SFTP, προσθέστε τη γραμμή στο sshd_config

Υποσύστημα sftp /usr/lib/openssh/sftp-server

Από προεπιλογή, η υποστήριξη SFTP είναι ενεργοποιημένη.

Χρησιμοποιώντας κριτήρια. Οδηγία αγώνα

Ρύθμιση πελάτη SSH

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

ssh-keygen -t rsa

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

Ssh-copy-id -i ~/ .ssh/ id_rsa.pub user@ server

Αυτό είναι, μπορείτε να μπείτε.

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

Ssh-copy-id -i ~/ .ssh/ id_rsa.pub "-p port user@server"

Εάν παρουσιαστεί σφάλμα: Εσφαλμένη θύρα "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"

δοκιμάστε να βάλετε τις παραμέτρους σε εισαγωγικά:

Ssh-copy-id "-i /home/user/.ssh/id_rsa.pub "-p port user@server""

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

Ρύθμιση απομακρυσμένου καταλόγου ssh στο Nautilus

Τοποθέτηση απομακρυσμένου καταλόγου χρησιμοποιώντας sshfs

Προσάρτηση απομακρυσμένου καταλόγου σε τοπικό κατάλογο

sshfs user@ hostingserver.ru:/ home/ userdir ~/ sshfsdir

Αποσυναρμολόγηση

Fusermount -u ~/ sshsfdir

Ψευδώνυμα SSH

Όταν χρησιμοποιείτε πολλούς διακομιστές με διάφορες παραμέτρουςπρόσβαση (μη τυπική θύρα, μακρύ όνομα host, μια σύνδεση διαφορετική από την τοπική, κ.λπ.) μερικές φορές είναι κουραστικό να εισάγετε ξανά όλες τις ρυθμίσεις σύνδεσης κάθε φορά. Για να το κάνετε αυτό πιο εύκολο, μπορείτε να χρησιμοποιήσετε ψευδώνυμα.

Οι ρυθμίσεις αποθηκεύονται στο ~/.ssh/config για έναν χρήστη και στο /etc/ssh/ssh_config καθολικά για όλους τους χρήστες.

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

Host AliasName # Αυθαίρετο όνομα κεντρικού υπολογιστή HostName 1.2.3.4 # Μπορείτε να καθορίσετε τόσο IP όσο και όνομα κεντρικού υπολογιστή (εάν εκτελείται το DNS) User YourUserName # Εάν ο χρήστης δεν ταιριάζει με τον τοπικό χρήστη Port YourSSHPort # Εάν μια μη τυπική θύρα

Μετά από αυτό μπορείτε να συνδεθείτε στον διακομιστή με την εντολή

ssh AliasName

ssh-agent

Διάγνωση προβλημάτων σύνδεσης

    Ανάλυση αρχείου καταγραφής σύνδεσης:

ssh -vvv user@ host

    Ανάλυση αρχείων διαμόρφωσης πελάτη και διακομιστή.

Μπορείτε να βρείτε τη θέση των αρχείων διαμόρφωσης στο

Άνδρας ssh άνθρωπος sshd

Χρήση έξυπνων καρτών

1. Δημιουργία και εξαγωγή πιστοποιητικού δημόσιο κλειδί, καθώς και το τμήμα πελάτη στα Windows + Putty SC περιγράφεται στον ιστότοπο: http://habrahabr.ru/post/88540/ Το πρόσθετο Key Manager που περιγράφεται εκεί είναι διαθέσιμο μόνο σε παλαιότερες εκδόσεις του Firefox. Δοκιμασμένο στην έκδοση 3.5 για Windows. Απευθείας σύνδεσμος για το πρόσθετο: https://addons.mozilla.org/ru/firefox/addon/key-manager/

2. Προετοιμασία του διακομιστή. Πρέπει να βεβαιωθείτε ότι η διαμόρφωση του sshd σας επιτρέπει τον έλεγχο ταυτότητας χρησιμοποιώντας δημόσια κλειδιά. Για να το κάνετε αυτό, πρέπει να καθορίσετε την τιμή της παραμέτρου "PubkeyAuthentication" σε "ναι" στο αρχείο "sshd_config".

Στη συνέχεια προσθέτουμε το δημόσιο κλειδί μας που αποκτήσαμε νωρίτερα (σε μία γραμμή) στο αρχείο "~/.ssh/authorized_keys". Λάβετε υπόψη ότι το αρχείο ".ssh/authorized_keys" βρίσκεται στον αρχικό κατάλογο του χρήστη, ο οποίος στη συνέχεια θα συνδεθεί χρησιμοποιώντας το δημόσιο κλειδί.<путь к библиотеке>

3. Τμήμα πελάτη στο Linux. Θα χρειαστεί να δημιουργήσετε ξανά το πακέτο OpenSSH χωρίς παραμέτρους. Συνιστάται μόνο ο καθορισμός προθεμάτων καταλόγου, για παράδειγμα –prefix=/usr. Θα πρέπει επίσης να σημειώσετε ότι τα αρχεία διαμόρφωσης θα βρίσκονται στο /usr/etc. Πριν ξεκινήσετε, χρειάζεστε τα ακόλουθα πακέτα: opensc-lite-devel, zlib-devel, openssl-devel. Εγκαταστήστε το πρόγραμμα οδήγησης έξυπνης κάρτας. Για ευκολία, στη διαμόρφωση ssh_config (δεν πρέπει να συγχέεται με το sshd_config), καθορίστε τη διαδρομή προς τη βιβλιοθήκη pkcs: PKCS11Provider=

4. Στον πελάτη, εκτελέστε το ssh user@host Εάν η έξυπνη κάρτα (token) είναι συνδεδεμένη, θα σας ζητηθεί κωδικός πρόσβασης και θα συνδεθείτε στην περίοδο λειτουργίας SSH.Πιθανά προβλήματα

κατά τη χρήση

Ο συνηθισμένος συνδυασμός πλήκτρων Ctrl + S, που χρησιμοποιείται σε πολλούς επεξεργαστές για την αποθήκευση διορθώσεων, όταν εργάζεστε σε ένα τερματικό με διακομιστή ssh, θα οδηγήσει στην εκτέλεση της εντολής XOFF, η οποία επιφανειακά μοιάζει με πάγωμα συνεδρίας. Ωστόσο, αυτό δεν είναι αλήθεια. Ο διακομιστής συνεχίζει να δέχεται χαρακτήρες εισαγωγής και εντολές, αλλά δεν τα εμφανίζει στην οθόνη. Για να ξεφύγετε από αυτή τη δύσκολη θέση, απλώς χρησιμοποιήστε τον συνδυασμό Ctrl + Q, ενεργοποιώντας έτσι τη λειτουργία XON ξανά.

Εδαφος διά παιγνίδι γκολφ

Το SSH - (Secure Shell) είναι ένα πρωτόκολλο για τον απομακρυσμένο έλεγχο ενός υπολογιστή με λειτουργικό σύστημα Linux. Το Ssh χρησιμοποιείται κυρίως για τη διαχείριση διακομιστών εξ αποστάσεως μέσω τερματικού. Εάν είστε διαχειριστής πολλών διακομιστών ή ακόμα και προηγμένος webmaster, τότε πιθανότατα αντιμετωπίζετε συχνά την ανάγκη να εργαστείτε με έναν συγκεκριμένο υπολογιστή μέσω ssh. Στο Linux, για αυτό, χρησιμοποιείται ένας διακομιστής ssh στο μηχάνημα στο οποίο πρέπει να συνδεθεί ο πελάτης και σε αυτόν από τον οποίο συνδέονται.

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

Ας ξεκινήσουμε όμως από τα πολύ βασικά.

Η σύνταξη της εντολής είναι η εξής:

$ssh [επιλογές] όνομα χρήστη@server [εντολή]

Είναι σημαντικό να σημειωθεί ότι το ssh μπορεί να λειτουργήσει χρησιμοποιώντας δύο εκδόσεις του πρωτοκόλλου. Εκδόσεις 1 και 2. Είναι σαφές ότι η έκδοση 2 είναι καλύτερη και υποστηρίζει περισσότερους τύπους κρυπτογράφησης και ελέγχου ταυτότητας. Δεν θα μιλήσουμε περισσότερο για διαφορές πρωτοκόλλου σε αυτό το άρθρο και θα υποθέσω ότι χρησιμοποιείτε την έκδοση 2.

Επιλογές εντολών SSH

Τώρα ας δούμε τις πιο βασικές επιλογές της εντολής ssh:

  • φά- βάλτε το ssh σε λειτουργία φόντου
  • σολ- επιτρέψτε απομακρυσμένα μηχανήματαπρόσβαση στα τοπικά λιμάνια
  • μεγάλο- όνομα χρήστη στο σύστημα
  • n- ανακατευθύνει την τυπική έξοδο στο /dev/null
  • σελ- Θύρα ssh στο απομακρυσμένο μηχάνημα
  • q- μην εμφανίζονται μηνύματα σφάλματος
  • v- λειτουργία εντοπισμού σφαλμάτων
  • x- απενεργοποιήστε την ανακατεύθυνση X11
  • Χ- ενεργοποιήστε την ανακατεύθυνση X11
  • ντο- ενεργοποιήστε τη συμπίεση

Αυτές δεν είναι όλες οι επιλογές του βοηθητικού προγράμματος, οι υπόλοιπες είναι πέρα ​​από το πεδίο εφαρμογής αυτού του άρθρου. Πολλές ρυθμίσεις για τη λειτουργία ssh μπορούν να αλλάξουν μέσω του αρχείου διαμόρφωσης ~/.ssh/config, αλλά δεν θα το εξετάσουμε λεπτομερώς ούτε εδώ.

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

Οι ρυθμίσεις διακομιστή SSH βρίσκονται στο /etc/ssh/sshd_config. Ούτε θα αγγίξουμε πολλά από αυτά. Ας εξετάσουμε μόνο τα πιο ενδιαφέροντα. Αρχικά ανοίξτε το αρχείο /etc/ssh/sshd.conf

θύρα ssh

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

Αλλάξτε την τιμή της θύρας στην επιθυμητή.

Πρωτόκολλο SSH

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

Και φέρτε το σε αυτή τη μορφή:

Πρόσβαση διαδρομής

Από προεπιλογή, επιτρέπεται η πρόσβαση Root μέσω ssh, αλλά αυτή η συμπεριφορά είναι πολύ μη ασφαλής, επομένως αφαιρέστε το σχόλιο της γραμμής:

PermitRootLogin αρ

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

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

AllowUsers User1, User2, User3
AllowGroups Group1, Group2, Group3

Εδώ User1 και Group1 είναι ο χρήστης και η ομάδα στην οποία πρέπει να επιτρέπεται η πρόσβαση.

Εκτέλεση εφαρμογών X11

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

X11 Προώθηση ναι

Καλύψαμε τις βασικές επιλογές, πριν προχωρήσετε, μην ξεχάσετε να επανεκκινήσετε τον διακομιστή ssh για να αποθηκεύσετε τις αλλαγές:

επανεκκίνηση του sshd υπηρεσίας

Χρησιμοποιώντας SSH

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

Σύνδεση στον διακομιστή

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

Εκτέλεση εντολής

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

ssh user@host ls

Εκτελέστε την εντολή ls στον απομακρυσμένο διακομιστή και επιστρέψτε την έξοδο του στο τρέχον τερματικό.

Εκτέλεση τοπικού σεναρίου

Ας το κάνουμε διερμηνέας bashστον απομακρυσμένο διακομιστή και μεταβιβάστε το τοπικό μας σενάριο σε αυτό χρησιμοποιώντας ανακατεύθυνση εισόδου Bash:

ssh user@host "bash -s"< script.sh

Δημιουργία αντιγράφων ασφαλείας σε απομακρυσμένο διακομιστή και ανάκτηση

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

sudo dd if=/dev/sda | ssh user@host "dd of=sda.img"

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

ssh user@host "dd if=sda.img" | dd of=/dev/sda

Εδώ και πάνω από το /dev/sda είναι το όνομα αρχείου του σκληρού σας δίσκου.

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

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

Είναι πολύ εύκολο να διαμορφώσετε αυτήν τη συμπεριφορά. Πρώτα δημιουργήστε ένα κλειδί με την εντολή:

ssh-keygen -t rsa

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

Στη συνέχεια στέλνουμε το κλειδί στον διακομιστή:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

Λάβετε κωδικό πρόσβασης από τοπικό αρχείο

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

ssh user@host< local_file.txt

Αλλαγή χαιρετισμού SSH

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

Εξετάζοντας τις αποτυχημένες προσπάθειες σύνδεσης SSH

Θέλετε να δείτε αν υπήρξαν ανεπιτυχείς προσπάθειες πρόσβασης στον διακομιστή σας μέσω ssh και από ποιες διευθύνσεις IP; Απλώς, όλα τα αιτήματα καταγράφονται στο αρχείο /var/log/secure, ας φιλτράρουμε μόνο τα απαραίτητα δεδομένα με την εντολή:

cat /var/log/secure | grep "Αποτυχία κωδικού πρόσβασης για"

Μεταφορά αρχείων μέσω SSH

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

$scp /διεύθυνση/τοπικό/αρχείο user@host:address/folders

Για παράδειγμα:

scp ~/test.txt user@host:documents

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

τοπικό αρχείο γάτας | ssh user@host "cat > remotefile"

ssh user@host "cat > remotefile"< localfile

tar czf - /home/user/file | ssh user@host tar -xvzf -C /home/remoteuser/

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

Εκτέλεση γραφικών εφαρμογών μέσω ssh

Εάν πρέπει να εκτελέσετε αυτήν ή την άλλη γραφική εφαρμογή σε απομακρυσμένο μηχάνημα, δεν είναι απαραίτητο να χρησιμοποιήσετε VNC για αυτό, μπορείτε να τα βγάλετε πέρα ​​με τις δυνατότητες του ssh. Το πρόγραμμα θα εκτελεστεί από την πλευρά του διακομιστή και θα εμφανιστεί μόνο ένα παράθυρο ώστε να μπορείτε να κάνετε ό,τι χρειάζεστε. Επιπλέον, όλα τα δεδομένα είναι κρυπτογραφημένα. Για να λειτουργήσει αυτή η δυνατότητα, πρέπει να την ενεργοποιήσετε από την πλευρά του διακομιστή.

Στη συνέχεια απλώς εκτελούμε την εντολή run γραφική εφαρμογήστον απομακρυσμένο διακομιστή ως εξής:

ssh -XC user@remotehost "eclipse"

Όπως έχετε ήδη δει, η επιλογή X επιτρέπει την ανακατεύθυνση X11 στην πλευρά του πελάτη και η επιλογή C επιτρέπει τη συμπίεση δεδομένων.

Τερματισμός της συνεδρίας ssh

Εάν χρησιμοποιήσατε ssh με ασταθές διαδίκτυο, όταν η σύνδεση διακόπτεται από καιρό σε καιρό, τότε μάλλον έχετε βαρεθεί να κλείνετε το τερματικό, γιατί διαφορετικά, με την πρώτη ματιά, δεν υπάρχει τρόπος να τερματίσετε τη συνεδρία. Όταν διακοπεί η σύνδεση με τον απομακρυσμένο διακομιστή, δεν μπορείτε να πληκτρολογήσετε καμία εντολή και οι συνδυασμοί πλήκτρων Ctrl+C, Ctrl+Z, Ctrl+D δεν λειτουργούν. Και δεν θα λειτουργήσουν επειδή ο πελάτης προσπαθεί να στείλει αυτές τις εντολές στον διακομιστή. Αλλά υπάρχει μια λύση - Ακολουθίες διαφυγής. Για να ενεργοποιήσετε την υποστήριξή τους, προσθέστε τη γραμμή:

Στο αρχείο /etc/ssh/ssh_config



Συνιστούμε να διαβάσετε

Κορυφή