DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

L’X-telecomando

Vi trovate a Ulaan Bator per un breve fine settimana di relax e decidete di recuperare un importante file che si trova sul Macintosh di casa. Ma collegandovi a Internet col portatile scoprite che la macchina in Italia non risponde. Che si sia bloccata? Bisognerebbe riavviarla. Niente di più facile: basta usare secure shell.


La porta sul retro

Due aspetti innovativi di Mac OS X possono facilmente sfuggire di mente a chi lo utilizza dopo parecchi anni passati in compagnia del predecessore. Primo, una macchina basata su Mac OS X non si blocca mai. La parola chiave è “mai”. Un blocco totale del sistema avviene in presenza di qualche difetto fisico alla circuiteria della macchina: memorie danneggiate, disco rigido corrotto, cose del genere. È possibile, per la verità, che un calcolatore sembri bloccato. Chi si mette davanti alla macchina e nota uno schermo completamente blu che ritrae solo la frecciolina nera -- che pure non si sposta se noi scuotiamo il mouse -- può pensare a un crash del sistema. In questi casi, del resto abbastanza rari, il problema sta invece nel Finder, o nella applicazione Login, o magari addirittura nel Window server (il programma che realizza la interfaccia utente Aqua e pertanto è necessario a ogni applicazione che voglia mostrare qualsiasi cosa sullo schermo). In altre parole, il nucleo del sistema operativo è ancora vivo e vegeto, ma difficilmente raggiungibile dall’utente che vuole impartire ordini.
Seconda considerazione: Mac OS X è basato sul sistema operativo Unix; Unix nacque negli anni Settanta, quando i calcolatori erano macchine estremamente costose e venivano utilizzate da molte persone contemporaneamente, in modo da non lasciare inutilizzata l’unità centrale di elaborazione neppure per pochi secondi. Oggi noi siamo abituati a monopolizzare una macchina e non ci dà fastidio l’idea di lasciarla inoperosa, ma ogni esemplare di Mac OS X è comunque ancora predisposto per accettare ordini da altri utenti mentre l’utente principale lavora. Oppure -- e qui sta il bello -- mentre l’utente principale è completamente bloccato davanti a uno schermo blu con la frecciolina nera inchiodata.


Tastiera con filo lungo chilometri

Prima di procedere dobbiamo fare un salto nelle Preferenze di sistema e avviare il servizio che permette la connessione remota. Agli esperti di Unix questo software è noto come ssh (la sigla di “secure shell”): nel nostro pannello di controllo, alla voce “Condivisione”, Apple lo chiama più semplicemente “login remoto”. (Vedere “apriamo la porta”). Il servizio ssh è inattivo quando installiamo per la prima volta il nostro sistema operativo, ma non c’è alcun motivo che ne sconsigli l’attivazione. Non rallenta operativamente la macchina e non introduce problemi di sicurezza: anzi, è di gran lunga il componente più sicuro dell’intero sistema operativo e viene costantemente aggiornato per mantenerlo tale. Quando il sistema ssh è attivo possiamo impartire ordini al nostro calcolatore anche da lontano -- in rete locale via cavo, attraverso una rete senza fili Airport e persino attraverso Internet. Per cominciare ci basta metterci davanti alla macchina controllante e scrivere il nome con cui ci vogliamo collegare, chiocciola, l’indirizzo della macchina da controllare. Per esempio, se il nome dell’amministratore (cioè il nome che usiamo all’atto dell’accensione) è “capo” e la macchina che vogliamo controllare ha indirizzo “192.168.0.1” scriveremo ssh capo@192.168.0.1. Chi usa ancora Mac OS 9 noti che esistono anche soluzioni per controllare (ma non per venire controllato) basate su quel sistema operativo; naturalmente ci sono versioni di ssh incorporate in tutte le varianti di Unix, compreso Linux (ci torneremo tra non molto) e applicazioni che realizzano il servizio ssh su Windows. Notate però che le versioni Mac OS 9 e Windows sono notoriamente molto meno sicure delle versioni Unix. Quando ci colleghiamo per la prima volta alla macchina da controllare appare un messaggio che ci chiede conferma che sia effettivamente questo ciò che desideriamo. Bisogna rispondere “yes” (esplicitamente e per esteso, una semplice ipsilon non basta). A questo punto ci viene chiesta la password, che deve essere la password registrata sulla macchina remota e non quella che usiamo localmente. Finalmente, la connessione è fatta. (Vedere “Tre, due, uno... contatto!”). Da questo istante tutti gli ordini che impartiremo dalla tastiera del Terminale verranno eseguiti dalla macchina remota e non da quella locale.


Per rendere più comprensibile questa schermata abbiamo colorato in blu quel che scrive l’utente e in rosso i messaggi in arrivo dal calcolatore remoto.

Il mondo è mio

Attraverso secure shell possiamo ordinare alla macchina remota tutte quelle operazioni che sono lecite sulla macchina locale usando una shell, cioè sono applicabili tutti i trucchi e tutte le metodologie che abbiamo visto in questo spazio nei mesi passati. Ma vediamo brevemente quelli che sono normalmente i comandi più utilizzati -- quelli cioè che ci permettono di rimettere in sesto una macchina parzialmente bloccata.
ps agx
Ci presenta un elenco di tutti i processi (prima) e tutte le applicazioni (poi) attivi sulla macchina. Ogni nome è preceduto da un numero identificativo che possiamo usare subito:
kill (numero identificativo)
Forza la chiusura del programma indicato, come se avessimo usato la finestra che appare premendo Mela-Opzione-Esc sulla tastiera della macchina remota. Se chiudiamo Finder esso riparte immediatamente, come al solito. Usando kill possiamo chiudere anche il Dock (il che è utilissimo quando e se questo si è bloccato, visto che la finestra Mela-Opzione-Esc non presenta il Dock tra le sue opzioni).
shutdown now
Forza la chiusura di tutte le applicazioni aperte, poi spegne la macchina.
shutdown -r now
Forza la chiusura di tutte le applicazioni aperte, poi riavvia immediatamente la macchina.
In entrambi i comandi appena visti, la parola “now” può venire sostituita con il segno + seguito da un tempo in minuti. Per esempio, shutdown +5 farà sì che il Macintosh si spenga dopo cinque minuti.


Lo FTP sicuro

Una volta che abbiamo imparato a far funzionare ssh possiamo usarlo come base tecnologica per altre applicazioni. Un esempio doveroso: SFTP, lo FTP sicuro. Il comune protocollo FTP, ancor oggi usato da molte persone che lavorano sul web, andrebbe abbandonato in quanto spaventosamente insicuro (infatti intercettare una password FTP è estremamente semplice per i malintenzionati).


Uso avanzato

Chi ha bisogno di massima sicurezza, per esempio per accedere a un server web, può ricorrere alla modalità avanzata di ssh, la cosiddetta ssh2 con crittografia a chiave pubbllca e chiave privata. Anziché affidarsi a una semplice password per identificare l’utente legittimo, il sistema ssh2 prevede che noi creiamo una coppia di chiavi gemelle e depositiamo una di esse in una speciale cartella sul server, tenendo l’altra sulla nostra macchina. Per creare la coppia di chiavi si utilizza un altro programma accessibile da Terminale, ssh-keygen. Per proteggerci dal rischio di furto della macchina locale, la chiave che conserviamo può comunque venire protetta con una password arbitrariamente lunga. Chi vuole usare ssh per comunicare con una macchina Windows o un’altra macchina non Unix tenga anche presente che il formato delle chiavi è differente nei diversi sistemi operativi. Prima di trasportare una chiave generata su Macintosh verso Windows è necessario convertirla usando la opzione -i del programma ssh-keygen. ssh2 può anche venire usato per aggirare legittimamente la protezione costituita da un firewall: ma qui il discorso si complica e rischia di annoiare i più, ragion per cui noi ci fermiamo qui.


Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.