Αποστολέας Θέμα: Απομακρυσμένη πρόσβαση ΑΠΟΚΛΕΙΣΤΙΚΑ από συγκεκριμένο υπολογιστή  (Αναγνώστηκε 258 φορές)

gidarakos

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

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

Πρακτικά:

1) Θα πρέπει να δημιουργήσουμε SSH public/private keys (δύο αρχεία) όπως και το authorized_keys (ένα αρχείο):
Κώδικας: Bash
  1. $ ssh-keygen -qf ~/.ssh/id_ed25519 -N '' -t ed25519
  2. $ ssh-copy-id administrator@localhost
  3. The authenticity of host 'localhost (127.0.0.1)' can't be established.
  4. ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
  5. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  6. /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  7. /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  8. administrator@localhost's password:
  9.  
  10. Number of key(s) added: 1
  11.  
  12. Now try logging into the machine, with:   "ssh 'administrator@localhost'"
  13. and check to make sure that only the key(s) you wanted were added.
Αν όλα έχουν πάει σωστά πρέπει να υπάρχουν τα ακόλουθα αρχεία:
Κώδικας: Bash
  1. $ ls -l .ssh/
  2. σύνολο 16
  3. -rw------- 1 administrator administrator 111 Νοε   5 19:55 authorized_keys
  4. -rw------- 1 administrator administrator 419 Νοε   5 19:49 id_ed25519
  5. -rw-r--r-- 1 administrator administrator 111 Νοε   5 19:49 id_ed25519.pub
  6. -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
  1. sudo systemctl restart ssh

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

5) Τα υπόλοιπα όπως περιγράφονται στο Απομακρυσμένη πρόσβαση της ΤΣ. Δηλαδή πραγματοποιούμε σύνδεση RDP/VNC.
« Τελευταία τροποποίηση: 05 Νοε 2021, 09:41:51 μμ από gidarakos »

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6200
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Κώστα ευχαριστούμε για το how-to!

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

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

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

gidarakos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 390
    • http://www.gidarakos.com/
Με αφορμή της βοήθειας του Άλκη έγιναν απόψε οι σχετικές δοκιμές σε Ubuntu 20.04 LTSP και οι οδηγίες έγιναν αναλυτικές.

Κώστα ευχαριστούμε για το how-to!
Να είσαι καλά Άλκη. Σε ευχαριστώ!