10 βασικές και χρήσιμες εντολές του ssh client

10 βασικές και χρήσιμες εντολές του ssh client

Το SSH είναι η πιο βασική υπηρεσία στα linux/unix λειτουργικά συστήματα και τα αρχικά SSH σημαίνουν Secure Socket Shell. Το ssh το χρησιμοποιούμε για να έχουμε πρόσβαση Encrypted μέσω της κλασικής πόρτας 22. Φυσικά μπορεί να αλλάξει η πόρτα!

H υπηρεσία ssh είναι υπεύθυνη για να μπορούμε να διαχειριζόμαστε ένα σύστημα. Να εκτελούμε με εντολές και γενικά να μπορούμε να κάνουμε ένα συνολικό manage στο σύστημα μας. Μπορούμε να ισχυριστούμε ότι το ssh μπορεί να αντικαθιστά το telnet, rlogin και rsh που είναι ανασφαλείς τρόποι για να συνδεθούμε σε ένα linux και unix σύστημα.

Αυτός ο οδηγός έχει φτιαχτεί για να βοηθήσει στην κατανόηση της χρήσης ssh και την σύνδεσή του σε ένα server. Για παράδειγμα σε ένα webserver. Τα παρακάτω παραδείγματα έχουν υλοποιηθεί σε server με εγκατεστημένο RHEL και Centos 7.7. Φυσικά μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές και σε συστήματα με εγκατεστημένο το RHEL, Centos, Fedora σε άλλες εκδόσεις.

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

ssh [OPTIONS] [USER@] :HOST

Για να τρέξετε την εντολή ssh από ένα linux σύστημα προς έναν Linux server είναι απλή υπόθεση και δεν χρειάζεται να εγκαταστήσετε κάτι παραπάνω. Αν όμως θέλετε να τρέξετε κάτι για να συνδεθείτε από ένα υπολογιστή προς ένα linux τότε αυτό το κάτι θα είναι ένας openssh client. Για παράδειγμα το Putty.

Πως να μάθεις την έκδοση του ssh client που τρέχεις

Για να δεις την έκδοση του client απλά θα χρειαστεί να τρέξεις το παρακάτω :

ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

Πως να συνδεθείς σε ένα server τρέχοντας την εντολή ssh

Για να συνδεθείς στον server που θέλεις να διαχειριστείς αρκεί μόνο η ip διεύθυνση του ή το hostname του. Την πρώτη φορά που θα συνδεθείς θα ερωτηθείς για να κάνεις verify το fingerprint με yes/no.

Αν δεν είσαι σίγουρος για το τι πρέπει να κάνεις, τότε ρώτησε τον server provider σου για το αν υπάρχει διαθέσιμο κάποιο host key.

Η εντολή για να συνδεθούμε στον server είναι :

ssh 192.168.1.1 ή ssh web.laptopblog.gr αν υπάρχει hostname.

Προσοχή, αν υπάρχουν αλλαγές στο host key τότε θα επισημανθούν στον χρήστη , φυσικά δεν θα υλοποιηθεί η σύνδεση αν δεν γίνει διαγραφή του παλιού host key που συνηθώς βρίσκεται στο /root/.ssh/know_hosts . Το παρακάτω output είναι ένα παράδειγμα της αλλαγής.

10 βασικές και χρήσιμες εντολές του ssh client

Πως να επαλήθευσες το finderprint με την εντολή ssh

Τρέχουμε απλά το παρακάτω, για να κάνουμε επαλήθευση :

# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
256 SHA256:4YNXabAuI4gYnC7ZIcTRbPlCMapOvrMwW4E/kKACb4s no comment (ECDSA)

Τρέχοντας την παραπάνω εντολή μπορούμε να επαληθεύσουμε το fingerprint του ssh στον server, αλλά με την παρακάτω γραμμή μπορούμε να κάνουμε επαλήθευση και του MD5 fingerprint :

ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub -E md5
256 MD5:5f:39:21:43:92:6e:7e:f3:17:35:6b:30:85:44:ee:38 no comment (ECDSA)

Πως θα συνδεθούμε με συγκεκριμένο χρήστη μέσω SSH σε ένα server

Για να συνδεθούμε πχ με τον χρήστη laptopuser τρέχουμε το παρακάτω :

ssh -l laptopuser 192.168.1.1      ή           ssh laptopuser@192.168.1.1

Αν θέλουμε να σηνδεθουμε με τον root χρηστη τότε μπορουμε να δ΄λωσουμε μια παο τις παρακάτω εντολές :

ssh -l root 192.168.1.1      ή           ssh root@192.168.1.1

Υπόψιν, η ip 192.168.1.1 είναι η IP που έχει ο server που θέλουμε να συνδεθούμε, δεν βάζουμε την ip του τοπικού μας υπολογιστή.

Πως θα συνδεθούμε μεσω SSH αλλά να βλεπουμε και τυχών errors στην συνδεση μας

Αν για παράδειγμα θέλουμε να συνδεθούμε με τον χρήστη root στον server και θέλουμε να βλέπουμε τυχόν errors τότε θα δώσουμε την παράμετρο -vvv . Αυτή η παράμετρος είναι πολύ χρήσιμη όταν θέλουμε να κάνουμε troubleshooting ή όταν αντιμετωπίζουμε προβλήματα με την σύνδεση . Την εντολή θα την δώσουμε έτσι :

ssh -vvv root@192.168.1.1

Πως να συνδεθείς με SSH στον server σε συγκεκριμένη πόρτα

Όπως γράψαμε νωρίτερα η default port του ssh είναι η 22. Αν αυτή την αλλάξουμε για λόγους διαχείρισης η λόγους security τότε στην εντολή σύνδεσης θα πρέπει να δηλώσουμε την port.

Αυτό το επιτυγχάνουμε με την παρακάτω εντολή :

ssh -l root 192.168.1.1 -p 18765  ή ssh root@192.168.1.1 -p 18765

Πως να εκτελέσουμε μια εντολή με SSH χωρίς να συνδεθούμε στον server

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

ssh -l root 192.168.1.1 uname -r   ή ssh root@192.168.1.1 uname -r

και θα επιστρέψει το παρακάτω αποτέλεσμα :

Output:
root@192.168.1.1’s password:
3.10.0-862.14.4.el7.x86_64

Που το 3.10.0-862.14.4.el7.x86_64 είναι το αποτέλεσμα της εντολής uname-r αν την τρέχαμε αφού πρώτα είχαμε συνδεθεί με ssh.

Πως να εκτελέσουμε περισσότερες με SSH χωρίς να συνδεθούμε στον server

Ας υποθέσουμε ότι θέλουμε να τρέξουμε την εντολή uname -r και την hostname, τότε θα πρέπει να πληκτρολογήσουμε το παρακάτω :

ssh -l root 192.168.1.1 “uname -r; hostname”
ή
ssh root@192.168.1.1 “uname -r; hostname”

για να επιστρέψει το παρακάτω αποτέλεσμα :

Output:
root@192.168.1.1’s password:
3.10.0-862.14.4.el7.x86_64
web15.laptopblog.gr

Πως αν μεταφέρω αρχείο από τον υπολογιστή μου στον server μεσώ scp

Αν θέλουμε να μεταφέρουμε ένα αρχείο από τον υπολογιστή μας που τρέχει Linux στον server μας τότε θα χρειαστεί να τρέψουμε την εντολή scp . Αν για παράδειγμα θέλουμε να ανεβάσουμε , δηλαδή να μεταφέρουμε στον server μας το αρχείο ena_test.sql στο path του server /home/sql/dump , τότε θα τρέψουμε :

scp ena_test.sql root@192.168.1.1:/home/sql/dump
Output:
linuxteck@192.168.1.1’s password:
dmo3c_test.sql 100% 70KB 3.3MB/s 00:00

Πως να μεταφέρω ένα ολόκληρο φάκελο από τον υπολογιστή μου στον server μέσω της scp

Αν για παράδειγμα θέλουμε να ανεβάσουμε , δηλαδή να μεταφέρουμε στον server μας τον φάκελο με όνομα dump στο path του server /home/sql/, τότε θα τρέξουμε :

scp -r /root/sql/dump root@192.168.1.1:/home/sql/ 

Πως να έχω πρόσβαση στα αρχεία του server με την εντολή sftp

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

sftp root@192.168.1.1

Με την σειρά του θα έχουμε το παρακάτω output

root@192.168.1.1’s password:
Connected to 192.168.1.1.
sftp> ls            (# Η ls θα εμφανίσει αρχεία)
php
share
tandd
sftp> pwd       (#Η pwd command θα εμφανίσει το directory)
Remote working directory: /home/apps
sftp>

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *