Απομακρυσμένη πρόσβαση ΑΠΟΚΛΕΙΣΤΙΚΑ από συγκεκριμένο υπολογιστή

Ξεκίνησε από gidarakos, 05 Νοε 2021, 03:05:29 ΜΜ

« προηγούμενο - επόμενο »

gidarakos

Το σενάριο που υλοποιήθηκε είναι το εξής:
Θέλουμε να έχουμε απομακρυσμένη πρόσβαση ΑΠΟΚΛΕΙΣΤΙΚΑ από συγκεκριμένο υπολογιστή και χωρίς να υπάρχει δυνατότητα προσπάθειας σύνδεσης από κάποιον άλλον/bot.
Αυτό αυξάνει πολύ την ασφάλεια όταν συνδεόμαστε στον LTSP server απόμακρα π.χ. από το σπίτι.

Θεωρία: Σε γενικές γραμμές ισχύουν οι οδηγίες Απομακρυσμένη πρόσβαση της ΤΣ. Επιπλέον όμως εφαρμόζουμε τα εξής:
α) Χρήση κλειδιών SSH. Αυτό μας εξασφαλίζει ότι ΜΟΝΟ όποιος έχει το σωστό SSH κλειδί (private) μπορεί να συνδεθεί μέσω της πόρτας 7100.
β) Απαγόρευση password authentication στην πόρτα 7100. Αυτό μας εξασφαλίζει ότι πλέον η πόρτα 7100 δεν δέχεται αιτήματα σύνδεσης με username/password από χρήστη ή bot.

Πρακτικά:

1) Θα πρέπει να δημιουργήσουμε SSH public/private keys (δύο αρχεία) όπως και το authorized_keys (ένα αρχείο):
Κώδικας: bash
$ ssh-keygen -qf ~/.ssh/id_ed25519 -N '' -t ed25519
$ ssh-copy-id administrator@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
administrator@localhost's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'administrator@localhost'"
and check to make sure that only the key(s) you wanted were added.

Αν όλα έχουν πάει σωστά πρέπει να υπάρχουν τα ακόλουθα αρχεία:
Κώδικας: bash
$ ls -l .ssh/
σύνολο 16
-rw------- 1 administrator administrator 111 Νοε   5 19:55 authorized_keys
-rw------- 1 administrator administrator 419 Νοε   5 19:49 id_ed25519
-rw-r--r-- 1 administrator administrator 111 Νοε   5 19:49 id_ed25519.pub
-rw-r--r-- 1 administrator administrator 666 Νοε   5 19:55 known_hosts


2) Στο βήμα Πρόσβαση με SSH εκτός από το Port 7100 προσθέτουμε στο τέλος του /etc/ssh/sshd_config και τις ακόλουθες γραμμές:
Match LocalPort 7100
PasswordAuthentication no

Θεωρία για αυτό το βήμα, με τη βοήθεια του Άλκη, εδώ.

3) Για να εφαρμοστούν οι αλλαγές του βήματος 2:
Κώδικας: bash
sudo systemctl restart ssh


4) Στη συνέχεια αντιγράφουμε το id_ed25519 (private key), από τον φάκελο .ssh του LTSP server, στον αντίστοιχο home φάκελο .ssh των windows/ubuntu του σπιτιού.

5) Τα υπόλοιπα όπως περιγράφονται στο Απομακρυσμένη πρόσβαση της ΤΣ. Δηλαδή πραγματοποιούμε σύνδεση RDP/VNC.

alkisg

Κώστα ευχαριστούμε για το how-to!

Για τη δημιουργία κλειδιού ssh, μια γρήγορη εντολή είναι:

ssh-keygen -qf ~/.ssh/id_ed25519 -N '' -t ed25519

Αυτή δημιουργεί ένα ιδιωτικό κλειδί στο ~/.ssh/id_ed25519 και ένα δημόσιο κλειδί στο ~/.ssh/id_ed25519.pub. Αυτός ο αλγόριθμος θεωρείται πιο ασφαλής από τον RSA και προτείνεται για νέα κλειδιά.

gidarakos

Με αφορμή της βοήθειας του Άλκη έγιναν απόψε οι σχετικές δοκιμές σε Ubuntu 20.04 LTSP και οι οδηγίες έγιναν αναλυτικές.

Παράθεση από: alkisg στις 05 Νοε 2021, 07:08:30 ΜΜ
Κώστα ευχαριστούμε για το how-to!
Να είσαι καλά Άλκη. Σε ευχαριστώ!