Android

Εντολή Ssh

Raspberry Pi Tutorial #007 [greek\ελληνικά] ( Πώς μπορώ να ενεργοποιήσω SSH & SFTP ) (1/2) ?

Raspberry Pi Tutorial #007 [greek\ελληνικά] ( Πώς μπορώ να ενεργοποιήσω SSH & SFTP ) (1/2) ?

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

Anonim

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

Υπάρχουν διάφοροι πελάτες SSH διαθέσιμοι τόσο δωρεάν όσο και εμπορικοί, με το OpenSSH να είναι ο πιο ευρέως χρησιμοποιούμενος πελάτης. Διατίθεται σε όλες τις μεγάλες πλατφόρμες, συμπεριλαμβανομένων των Linux, OpenBSD, Windows, MacOS και άλλων.

, θα εξηγήσουμε πώς να χρησιμοποιήσουμε τον πελάτη γραμμής εντολών OpenSSH ( ssh ) για να συνδεθείτε σε ένα απομακρυσμένο μηχάνημα και να εκτελέσετε εντολές ή να εκτελέσετε άλλες λειτουργίες.

Εγκατάσταση προγράμματος-πελάτη OpenSSH

Το πρόγραμμα-πελάτης OpenSSH ονομάζεται ssh και μπορεί να χρησιμοποιηθεί από το τερματικό. Το πακέτο προγράμματος-πελάτη OpenSSH παρέχει επίσης άλλα βοηθητικά προγράμματα SSH όπως scp και sftp που είναι εγκατεστημένα παράλληλα με την εντολή ssh .

Εγκατάσταση του OpenSSH Client σε Linux

Το πρόγραμμα-πελάτης OpenSSH είναι προεγκατεστημένο στις περισσότερες διανομές Linux από προεπιλογή. Εάν το σύστημά σας δεν έχει εγκατεστημένο τον ssh client, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας το διαχειριστή πακέτων της διανομής σας.

Εγκατάσταση του OpenSSH σε Ubuntu και Debian

sudo apt update sudo apt install openssh-client

Εγκατάσταση του OpenSSH σε CentOS και Fedora

sudo dnf install openssh-clients

Εγκατάσταση προγράμματος - πελάτη OpenSSH στα Windows 10

Οι περισσότεροι χρήστες των Windows χρησιμοποιούν το Putty για να συνδεθούν σε ένα απομακρυσμένο μηχάνημα μέσω SSH. Ωστόσο, οι πιο πρόσφατες εκδόσεις των Windows 10 περιλαμβάνουν ένα πρόγραμμα-πελάτη και διακομιστή OpenSSH. Και τα δύο πακέτα μπορούν να εγκατασταθούν μέσω του GUI ή του PowerShell.

Για να βρείτε το ακριβές όνομα του πακέτου OpenSSH, πληκτρολογήστε την ακόλουθη εντολή:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Η εντολή πρέπει να επιστρέψει κάτι τέτοιο:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

Μόλις γνωρίσετε το όνομα του πακέτου, εγκαταστήστε το εκτελώντας:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Με την επιτυχία, η παραγωγή θα φανεί κάπως έτσι:

Path: Online: True RestartNeeded: False

Εγκατάσταση προγράμματος-πελάτη OpenSSH στο macOS

Το macOS παραδίδεται με το πρόγραμμα εγκατάστασης του OpenSSH εγκατεστημένο από προεπιλογή.

Πώς να χρησιμοποιήσετε την εντολή ssh

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

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

Η βασική σύνταξη της εντολής ssh έχει ως εξής:

ssh:HOST

Για να χρησιμοποιήσετε την εντολή ssh ανοίξτε το Terminal ή το PowerShell και πληκτρολογήστε ssh ακολουθείται από το όνομα του απομακρυσμένου hostname:

ssh ssh.linuxize.com

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

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Κάθε κεντρικός υπολογιστής διαθέτει ένα μοναδικό αποτύπωμα το οποίο αποθηκεύεται στο ~/.ssh/known_hosts .

Πληκτρολογήστε yes για να αποθηκεύσετε το απομακρυσμένο αποτύπωμα και θα σας ζητηθεί να πληκτρολογήσετε τον κωδικό πρόσβασής σας.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

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

Όταν δεν έχει δοθεί το όνομα χρήστη, η εντολή ssh χρησιμοποιεί το τρέχον όνομα σύνδεσης στο σύστημα.

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

ssh username@hostname

Το όνομα χρήστη μπορεί επίσης να καθοριστεί με την επιλογή -l :

ssh -l username hostname

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

Για να συνδεθείτε σε μη προεπιλεγμένη θύρα, χρησιμοποιήστε την επιλογή -p για να καθορίσετε τη θύρα:

ssh -p 5522 username@hostname

ssh -v username@hostname

Για να αυξήσετε το επίπεδο -vv , χρησιμοποιήστε -vv ή -vvv .

Η εντολή ssh δέχεται μια σειρά επιλογών.

Για μια πλήρη λίστα όλων των επιλογών, διαβάστε τη σελίδα man ssh πληκτρολογώντας τον man ssh στο τερματικό σας.

Αρχείο ρυθμίσεων SSH

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

Ένα παράδειγμα SSH παραμέτρων φαίνεται παρακάτω:

Host dev HostName dev.linuxize.com User mike Port 4422

Όταν καλέσετε τον ssh client πληκτρολογώντας ssh dev η εντολή θα διαβάσει το ~/.ssh/config και θα χρησιμοποιήσει τις λεπτομέρειες σύνδεσης που καθορίζονται για τον εξυπηρετητή dev. Σε αυτό το παράδειγμα, το ssh dev είναι ισοδύναμο με το ακόλουθο:

ssh -p 4422 [email protected]

Για περισσότερες πληροφορίες, ελέγξτε το άρθρο σε αρχείο ρυθμίσεων SSH.

Έλεγχος ταυτότητας δημόσιου κλειδιού

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

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

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

ssh-keygen -t rsa -b 4096 -C "[email protected]"

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

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

ssh-copy-id username@hostname

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

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

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

Προώθηση θυρών

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

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

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

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

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

Για να δημιουργήσετε μια τοπική προώθηση προώθησης θύρας, περάστε την επιλογή -L στον εξυπηρετητή ssh :

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Η επιλογή -f λέει την εντολή ssh να τρέξει στο παρασκήνιο και -N να μην εκτελέσει μια απομακρυσμένη εντολή.

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

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

Η επιλογή -L λέει στο ssh να δημιουργήσει μια αποστολή απομακρυσμένης θύρας:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

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

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

Για να δημιουργήσετε μια δυναμική προώθηση θυρών (SOCKS) περάστε την επιλογή -D στο ssh client:

ssh -D LOCAL_PORT -N -f username@hostname

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

συμπέρασμα

Για να συνδεθείτε σε έναν απομακρυσμένο διακομιστή μέσω SSH, χρησιμοποιήστε την εντολή ssh ακολουθούμενη από το απομακρυσμένο όνομα χρήστη και όνομα κεντρικού υπολογιστή ( ssh username@hostname ).

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

ssh τερματικό