Ρύθμιση και επαλήθευση SFTP με έλεγχο ταυτότητας δημόσιου κλειδιού σε υπολογιστές-πελάτες και διακομιστές

Ημερομηνία δημιουργίας σελίδας :

περιβάλλον

Παράθυρα
  • Παράθυρα 10 Υπέρ
  • Windows Server 2019
  • Παράθυρα 7
  • Windows Server 2012 R2
ΆνοιγμαSH
  • 7.7π.
  • 8.1p1 - Βήτα

⇨ Λειτουργεί σε άλλες εκδόσεις, αλλά είναι ανεπιβεβαίωτο

Αρχικά

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

Προετοιμασία εκ των προτέρων

  • Ο υπολογιστής-πελάτης έχει εγκατεστημένο ένα πρόγραμμα-πελάτη OpenSSH
  • Ο διακομιστής έχει εγκατεστημένο ένα διακομιστή OpenSSH.
  • Ο διακομιστής ξεκινά την υπηρεσία OpenSSH και η θύρα 22 απελευθερώνεται.

Δημιουργία ιδιωτικών και δημόσιων κλειδιών στον υπολογιστή-πελάτη

Συνδεθείτε στον υπολογιστή-πελάτη. Μπορούν επίσης να δημιουργηθούν ιδιωτικά και δημόσια κλειδιά από την πλευρά του διακομιστή, αλλά το ιδιωτικό κλειδί θα είναι ο υπολογιστής-πελάτης και το δημόσιο κλειδί θα βρίσκεται στην άκρη του διακομιστή. Δημιουργήστε από την πλευρά του πελάτη.

Ξεκινήστε το PowerShell με δικαιώματα διαχειριστή.

image

Δημιουργήστε ένα αρχείο, μεταβείτε σε οποιοδήποτε φάκελο με την εντολή CD και πληκτρολογήστε την ακόλουθη εντολή:

ssh-keygen -t rsa -f id_rsa

Μπορείτε να βάλετε μια κάρτα (κωδικός πρόσβασης) στο κλειδί, οπότε παρακαλώ τοποθετήστε το εάν είναι απαραίτητο.

image

Εάν το κλειδί δημιουργηθεί με επιτυχία, τα δημόσια και ιδιωτικά κλειδιά δημιουργούνται στο φάκελο ως εξής: Το "id_rsa" είναι το ιδιωτικό κλειδί και το "id_rsa.pub" είναι το δημόσιο κλειδί.

image

image

Τοποθέτηση δημόσιου κλειδιού στο διακομιστή

Συνδεθείτε στα Windows με το λογαριασμό SFTP για το διακομιστή.

Τοποθετήστε το δημόσιο κλειδί "id_rsa.pub" στον παρακάτω φάκελο στο διακομιστή. 「. Εάν δεν έχετε φάκελο "ssh", δημιουργήστε έναν. Επίσης, αλλάξτε το όνομα αρχείου σε "authorized_keys". (Αντικαταστήστε το <> με το όνομα χρήστη που συνδέεστε με το SFTP.)

  • C:\Χρήστες\< όνομα χρήστη>\.ssh

image

Σημειώστε ότι μόνο οι χρήστες με "διαχειριστές" ή χρήστες SFTP θα πρέπει να έχουν πρόσβαση σε αυτό το αρχείο. Οι συνδέσεις Sftp αποτυγχάνουν πάντα εάν άλλοι χρήστες έχουν πρόσβαση. Για παράδειγμα, η NG έχει μια ομάδα χρηστών ή όλων προσαρτημένη στο δικαίωμα.

Σε αυτό το παράδειγμα, ". Τα δικαιώματα πρόσβασης του φακέλου "ssh" είναι "Ομάδα:ΣΥΣΤΗΜΑ", "Ομάδα: Διαχειριστές" και "Χρήστης: sftptest". Εάν δεν μπορείτε να καταργήσετε ένα δικαίωμα, απενεργοποιήστε τη μεταβίβαση δικαιωμάτων.

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

Συνδεθείτε στο διακομιστή με χρήστες δικαιωμάτων διαχειριστή και, στη συνέχεια, ανοίξτε τους ακόλουθους φακέλους:

  • C:\Δεδομένα προγράμματος\ssh

Δεδομένου ότι υπάρχει ένα αρχείο που ονομάζεται "sshd_config", αντιγράψτε το και αλλάξτε το όνομα του αρχείου σε "sshd_config_default" και ρυθμίστε ένα αντίγραφο ασφαλείας.

image

Ανοίξτε το "sshd_config" στο πρόγραμμα επεξεργασίας κειμένου που ξεκίνησε με δικαιώματα διαχειριστή.

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

#PubkeyAuthentication yes

↓↓↓

PubkeyAuthentication yes

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

#PasswordAuthentication yes

↓↓↓

PasswordAuthentication no

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

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

↓↓↓

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Εάν θέλετε να καθορίσετε τον ριζικό κατάλογο για κάθε λογαριασμό SFTP, προσθέστε την ακόλουθη γραμμή: Ανάλογα με το αν καθορίζετε αυτό ή όχι, όταν καθορίζετε μια διαδρομή φακέλου από τον υπολογιστή-πελάτη, μπορεί να αλλάξει σε μορφή "C:\xxxxx" ή "/xxxxx".

Match User <ユーザー名>
       ChrootDirectory <フォルダパス>

παράδειγμα

Match User TestUser
       ChrootDirectory C:\Users\TestUser

Αφού αποθηκεύσετε sshd_config, επανεκκινήστε το διακομιστή OpenSSH.

image

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

Τοποθετήστε το ιδιωτικό κλειδί "id_rsa" που δημιουργήσατε πριν συνδεθείτε με το SFTP σε ένα φάκελο που είναι προσβάσιμος μόνο στο χρήστη που εκτελεί SFTP. Σημειώστε ότι οι συνδέσεις sftp θα αποτύχουν εάν τοποθετηθούν σε ένα φάκελο στον οποίο μπορούν να έχουν πρόσβαση άλλοι χρήστες. Ειδικά αν ο φάκελος έχει δικαιώματα για τις ομάδες "Χρήστες και Όλοι", είναι NG.

Βασικά, συνιστάται επειδή θα αναφέρεται αυτόματα στη διαδρομή εάν την τοποθετήσετε στον ακόλουθο φάκελο.

  • C:\Χρήστες\< όνομα χρήστη>\.ssh

Του πελάτη". Τα δικαιώματα πρόσβασης του φακέλου "ssh" είναι "Ομάδα:ΣΥΣΤΗΜΑ", "Ομάδα: Διαχειριστές", "Χρήστης: < χρήστης σύνδεσης >".

Εάν θέλετε να αποκτήσετε πρόσβαση σε sftp χρησιμοποιώντας το ιδιωτικό κλειδί, πληκτρολογήστε την εντολή ως εξής (αντικαταστήστε την <>): Αν έχετε δημιουργήσει μια πεζοχώρη, εισαγάγετε και μια πεζή κάρτα.

sftp -i id_rsa <ユーザー名>@<サーバー名>

image

Εάν συνδεθείτε με επιτυχία, θα μεταβείτε στην εμφάνιση του συνδεδεμένου χρήστη.

image

Μπορείτε επίσης να ελέγξετε ότι μπορείτε να συνδεθείτε με την εντολή dir.

image

Τώρα που έχετε ετοιμάσει ένα αρχείο που ονομάζεται "test3.txt", στείλτε το αρχείο με την εντολή τοποθέτησης.

put c:\temp\test3.txt

image

Εάν κοιτάξετε το φάκελο C:\Users\sftptest από την πλευρά του διακομιστή, μπορείτε να δείτε ότι αποστέλλεται το αρχείο test3.txt.

image

Προσπάθησε να ξεφύγεις από τον πελάτη.

get test3.txt c:\temp\test4.txt

image

Μπόρεσα να επιβεβαιώσω ότι ο φάκελος ήταν σε θέση να ληφθεί.

image

Περίληψη

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