Γεία χαρά σε όλους.
Θα ήθελα να μοιραστώ μαζί σας την εμπειρία μου, στήν προσπάθεια μου να σετάρω το Mac μου σάν home server και να το κάνω προσβάσημο από εξωτερικό δίκτυο.
Έκανα λοιπόν το κατάληλο port forwarding ανοίγοντας μια πόρτα ας πούμε 123456, συμφωνα με το manual του κατασκευαστή.
Στη συνέχεια μπήκα στο file ssh.config και άλλλαξα το port στην κατάληλη γραμμή.
Ενώ όλα δείχνανε σωστά όταν τσεκάριζα τα settings μου με το “canyouseeme.org” μόνο το port 22 ήταν ανοικτό.
Έκλεινα το port που είχα ανοίξει, έκλεινε και το 22, άνοιγα καινούργιο πάλι μόνο το 22 άνοιγε.
Ύστερα από πολύ googling και πολλές ώρες video στο youtube και για να μήν σας ζαλίζω, ανακάλειψα ένα άρθρο που έλεγε ότι αν δουλεύεις με Mac το file ssh.config δεν παίζει κανένα ρόλο.
Η apple έχει άλλο file για να κάνεις configuration το ssh σου ( ωωω!!! τι έκπληξης).
Το file αυτό λέγεται ssh.plist και είναι γραμμένο σε html.
Παραθέτω ένα μικρό μέρος του αρχείου με το κομμάτι που πρέπει να αλλάξουμε.
Sockets
Listeners
SockServiceName
ssh
Bonjour
ssh
sftp-ssh
Με bold είναι το κομμάτι του κώδικα που πρέπει να αλλάξουμε, και να γινεί έτσι:
SockServiceName
123456
Bonjour
123456
sftp-ssh
Αλλά τα προβλήματα μου δεν σταμάτησαν εκεί. Όταν μιλάμε για apple η βλακεία δεν έχει όριο. Τα αρχεία του root είναι κλειδωμένα ακόμα και για τον root user. Ωωωωω yes.
Τέλος πάντων, χρησιμοποιούν ένα πρωτόκολλο που ονομάζεται “Προστασία Ακεραιότητας Συστήματος” “System Integrity Protection” (SIP) ή “rootless”.
Αν θέλετε να ελέγξετε ότι ένα αρχείο προστατεύεται από το SIP, μπορείτε να χρησιμοποιήσετε την εντολή
ls -lO
κεφαλαίο Ο, όχι μηδέν.
Πώς να απενεργοποιήσετε το SIP
- Επανεκκίνηστε το Mac σας σε λειτουργία ανάκτησης, ξεκινώντας με επανεκκίνηση και κρατώντας πατημένο το πλήκτρο “Command + R”.
- Ανοίξτε ένα τερματικό
- Στο τερματικού γράψτε
csrutil disable
και πατήστε “Enter”.
4. Κάντε επανεκκίνηση του Mac.
Ενεργοποίηση του ssh daemon
Μόλις τα κάνατε όλα αυτά και ρυθμίσετε τις παραμέτρους του αρχείου ssh.plist κάντε τα εξής:
- Μεταβείτε στις προτιμήσεις συστήματος
- Ανοίξτε την κοινή χρήση
- Κάντε κλικ στο λουκέτο για να ξεκλειδώσετε (χρησιμοποιώντας το passwd)
- Ελέγξτε την Απομακρυσμένη σύνδεση (αυτό θα ξεκινήσει το διακομιστή ssh στο παρασκήνιο)
- Κλείστε το λουκέτο
Αν και η αλλαγή θύρας είναι ένα καλό μέτρο ασφάλειας, καλό θα ήταν να πάρετε και κάποια additional μέτρα ασφάλειας όπως να φτιάξετε κλειδιά για να συνδέεσται στον server σας, εδώ απλά να πώ οτι πρέπει να περιορίσετε την πρόσβαση στο server σας χρησιμοποιώντας το “Μόνο αυτούς τους χρήστες” αντί του “Όλοι οι χρήστες” στο κατάλληλο παράθυρο.
Τέλος, μπορείτε να συνδεθέιτε με ssh Mac server σας.
ssh -p123456 macname @ yourdomainname
Φτιάξτε τα alias σας αν θέλετε στο ~/bashrc αρχείο σας για να μήν γράφετε συνέχεια αυτό το μακρηνάρι και μήν ξεχάσετε να ξαναενεργοποιήσετε το SIP (ναι, ok)
csrutil enable
και enter.