Απομακρυσμένη πρόσβαση¶
Για απομακρυσμένη πρόσβαση (π.χ. από το σπίτι) στον εξυπηρετητή του ΣΕΠΕΗΥ σας, θα σας φανούν χρήσιμες οι παρακάτω πληροφορίες.
Anydesk¶
Το Anydesk είναι ένα δωρεάν πρόγραμμα τύπου teamviewer που δουλεύει σε όλα τα λειτουργικά. Μπορείτε να το κατεβάσετε από τη σελίδα του, να το εγκαταστήσετε, να ρυθμίσετε έναν κωδικό για απομακρυσμένη πρόσβαση χωρίς επιβεβαίωση, και δεν χρειάζεται να ασχοληθείτε με τις IP και τα DNS names που αναφέρονται στις παρακάτω ενότητες. Το μειονέκτημα είναι ότι η κίνηση περνάει από τους servers της anydesk, οπότε υπάρχουν θέματα ασφάλειας και επιδόσεων.
Εξωτερική IP¶
Εάν από τον εξυπηρετητή του σχολείου επισκεφτείτε τη σελίδα https://ts.sch.gr/services/ip θα δείτε την εξωτερική του IP, που είναι αυτή στην οποία θα συνδεθείτε εάν θέλετε να χρησιμοποιήσετε SSH, VNC, X2GO ή RDP.
Routers OTE¶
Τα σχολεία με routers του OTE (π.χ. Speedport) συνήθως έχουν δυναμική εξωτερική IP, η οποία μπορεί να αλλάξει μετά από κάποιες ώρες ή μέρες. Εφόσον θέλουμε απομακρυσμένη πρόσβαση, μπορούμε να ανοίξουμε ένα δελτίο στο helpdesk και να ζητήσουμε στο ΠΣΔ να μας δώσει σταθερή εξωτερική IP ακόμα και αν έχουμε router του ΟΤΕ. Εναλλακτικά μπορεί να χρησιμοποιηθεί μια υπηρεσία τύπου https://www.duckdns.org/, η οποία αντιστοιχεί ονόματα π.χ. sxoleio.duckdns.org σε δυναμικές IP. Είτε έχουμε σταθερή είτε δυναμική IP, από το web interface του router, θα πρέπει να γίνει port forwarding της θύρας π.χ. 7100 στη θύρα 22 που χρησιμοποιεί το SSH.
Routers ΠΣΔ¶
Τα σχολεία με MikroTik ή Cisco routers τα διαχειρίζεται το ΠΣΔ και τους δίνει 4 σταθερές εξωτερικές IP. Οι δύο από αυτές αντιστοιχούν στα παρακάτω ονόματα και IP:
- srv-sxoleio.nom.sch.gr = 10.x.y.10
- srv1-sxoleio.nom.sch.gr = 10.x.y.11
Έτσι αν βάλετε τον server στην IP=10.x.y.10, θα μπορείτε να τον δείτε με το όνομα srv-sxoleio.nomos.sch.gr (δηλαδή ίδιο με το όνομα της ιστοσελίδας του σχολείου, αλλά με ένα srv- μπροστά).
Πρόσβαση με SSH¶
Η υπηρεσία SSH για απομακρυσμένη πρόσβαση κονσόλας στον εξυπηρετητή κανονικά ακούει στη θύρα 22, η οποία είναι προσβάσιμη μόνο από το υποδίκτυο διαχείρισης ΣΕΠΕΗΥ (ΚΕΠΛΗΝΕΤ κτλ), και επομένως όχι από το σπίτι σας. Έτσι θα πρέπει να καθορίσετε να ακούει και σε μια δεύτερη θύρα π.χ. 7100, η οποία είναι προσβάσιμη, εκτελώντας από μία κονσόλα:
sudo cp /dev/stdin /etc/ssh/sshd_config.d/local.conf <<EOF
Port 22
Port 7100
EOF
Στη συνέχεια, από το σπίτι σας δίνετε την παρακάτω εντολή για να αποκτήσετε πρόσβαση με SSH. Η εντολή ισχύει είτε από Linux είτε από Windows:
ssh -p 7100 administrator@srv-sxoleio.nom.sch.gr
Πρόσβαση με VNC¶
Στο σπίτι, κατεβάζουμε το RealVNC Viewer είτε για Linux είτε για Windows, και το εκτελούμε με την παρακάτω εντολή:
vncviewer -SecurityNotificationTimeout=0 -ColorLevel=pal8 -shared -listen
Στη συνέχεια ακολουθούμε τις παραπάνω οδηγίες για πρόσβαση με SSH, αλλά τελικά δίνουμε την παρακάτω εναλλακτική εντολή:
ssh -p 7100 -tCR 5501:localhost:5500 administrator@srv-sxoleio.nom.sch.gr /usr/share/sch-scripts/reverse-vnc
Αυτή η εντολή θα συνδεθεί στην υπάρχουσα συνεδρία, εφόσον υπάρχει, ή στην οθόνη σύνδεσης εάν κανείς χρήστης δεν είναι συνδεδεμένος.
Πρόσβαση με RDP¶
Το πρωτόκολλο remote desktop των Windows υποστηρίζεται και από το Linux εφόσον εγκαταστήσουμε το παρακάτω πακέτο:
sudo apt install xrdp
Μας επιτρέπει να συνδεθούμε σε δεύτερη συνεδρία στον εξυπηρετητή, χωρίς να ενοχλήσουμε κάποιον που εργάζεται εκεί. Επειδή όμως η θύρα 3389 που χρησιμοποιεί είναι κλειστή σε διάφορες περιπτώσεις (π.χ. στους MikroTik/Cisco routers) για λόγους ασφαλείας, ακολουθούμε πάλι τις παραπάνω οδηγίες για πρόσβαση με SSH, αλλά τελικά δίνουμε την παρακάτω εναλλακτική εντολή:
ssh -p 7100 -L 3390:localhost:3389 administrator@srv-sxoleio.nom.sch.gr
Αυτή θα κάνει μεν σύνδεση με SSH, αλλά θα προωθήσει και τη θύρα 3389 που χρησιμοποιεί το RDP. Στη συνέχεια, στον υπολογιστή του σπιτιού, κάνουμε απομακρυσμένη σύνδεση τύπου RDP στο localhost. Η σχετική εντολή από Linux είναι:
xfreerdp /v:localhost:3390 /relax-order-checks +glyph-cache /size:1600x900
Ενώ η σχετική εντολή από Windows είναι:
mstsc /v:localhost:3390
Πρόσβαση με SSH κλειδιά¶
- Αυτό μας εξασφαλίζει ότι μόνο όποιος έχει το σωστό SSH κλειδί (private) μπορεί να συνδεθεί μέσω της πόρτας 7100 στον LTSP server.
- Εφαρμόζεται απαγόρευση password authentication στην πόρτα 7100, ώστε πλέον η πόρτα 7100, να μη δέχεται αιτήματα σύνδεσης με username/password από χρήστη ή bot.
Βήματα:
-
Δημιουργούμε το αρχείο
/etc/ssh/sshd_config.d/local.conf
, εκτελώντας από μία κονσόλα:sudo cp /dev/stdin /etc/ssh/sshd_config.d/local.conf <<EOF Port 22 Port 7100 Match LocalPort 7100 PasswordAuthentication no EOF
Χρήσιμο
Αν δεν κάνουμε επανεκκίνηση στο server, για να εφαρμοστούν οι αλλαγές:
sudo systemctl restart ssh
-
Δημιουργούμε τα SSH public/private keys (δύο αρχεία) όπως και το authorized_keys (ένα αρχείο):
$ 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.
-
Ελέγχουμε αν τα αρχεία έχουν δημιουργηθεί επιτυχώς:
$ 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
-
Αντιγράφουμε το
id_ed25519
(private key), από τον φάκελο.ssh
του LTSP server, στον αντίστοιχο.ssh
των windows/ubuntu, του προσωπικού μας υπολογιστή. -
Από τον προσωπικό μας υπολογιστή, συνδεόμαστε στον LTSP server μέσω SSH/VNC/RDP.