Mi sono in questi giorni trovato a dover affrontare una situazione alquanto ostica: impostare un UPS collegato via USB ad un NAS Synology DSM 6.0-7321 che spegnesse oltre al NAS anche il mio iMac.
Con un semplice client NUT sarebbe stato molto semplice in quanto il DS di Synology permette di inviare un segnale fungendo da NUT server, ma su OSx non esiste una applicazione che funga da client (c’è qualcosa, ma di veramente obsoleto e/o da compilare manualmente).
A questo punto ho pensato di spostarmi verso una soluzione più homemade.
Ecco un riassunto di ciò che è necessario eseguire:
MacOSx va configurato come server SSH in modo che il NAS ci si possa collegare:
Sul DMS va creata un’operazione pianificata che chiameremo “Spegnimento iMac” con le seguenti caratteristiche:
Attività: Spegnimento iMac
Utente: root
Evento: Spegnimento
Script definito dall’utente: ssh -t -T *user*@IP-Mac ‘sudo shutdown -h now’
Dove *user* è l’utente amministratore del sistema Mac
Impostiamo l’autenticazione SSH tramite chiave RSA tra Synology e Mac cosi facendo:
1. Generiamo la chiave sul client (il NAS) collegandoci in SSH con l’utente root (la password di root è la medesima di admin) cosi facendo:
ssh -t IP-Diskstation sudo -i root@DiskStation:~#
ssh-keygen -t rsa cat .ssh/id_rsa.pub
Copiamo la chiave RSA che ci viene mostrata (compresa di ssh-rsa iniziali e root@diskstation finali)
2. Su Mac entriamo in terminale e diamo i seguenti comandi:
cd /Users/Utente mkdir -p .ssh nano .ssh/authorized_keys
Qui incolliamo la chiave precedentemente creata
Arrivati a questo punto è necessario concedere all’utente ssh di effettuare lo shutdown senza bisogno della password di sudo, quindi sempre su terminale
sudo -i nano /etc/sudoers
ed aggiungiamo la riga
## Allow members of group wheel to execute any command without a password %wheel ALL=(ALL) NOPASSWD: ALL
Fatto questo digitiamo
dscl . append /Groups/wheel GroupMembership *user*
(dove user è il nome utente utilizzato per la connessione SSH da NAS a Mac, nel mio caso l’amministratore del Mac)
Torniamo un’ultima volta sul Synology, al quale ci collegheremo in ssh con l’utente root e testeremo la connessione ssh verso il Mac cosi facendo
root@DiskStation:~# ssh -t -T *user*@IP-Mac
e confermeremo di aggiungere in modo permanente l’host conosciuto
Grazie a tutto questo è possibile mantenere in sicurezza da sbalzi di tensione oltre alla DiskStation, anche il proprio Mac; sarà inoltre possibile controllarne lo spegnimento da remoto, oltre che collegandosi in SSH eseguendo manualmente l’attività creata su NAS.
Gianluca
Ciao ! Ottima guida. Io vorrei sapere quali gruppi di continuità sono compatibili con il NAS Synology 216play. Stavo vedendo qualche APC ma non saprei quale modello prendere.
Enrico
Ciao Gianluca, grazie!
In rete ho trovato questa pagina che mostra la compatibilità tra Synology e i modelli di UPS:
https://www.synology.com/it-it/compatibility?search_by=category&category=upses&p=1¬_recommend_mode=false
Io, personalmente, l’ho collegato ad un Eaton 9130
paraffina
Ciao, complimenti per la soluzione, visto che ho un NAS Sinologi e volevo utilizzare un unico UPS per mac e NAS.
Volevo chiederti alcune precisazioni però:
1) nell script per il NAS ( ssh -t -T User@IP-Mac ‘sudo shutdown -h now’) l’User deve essere l’amministratore del Mac o l’amministratore del NAS?
29 la chiave non me la mostra; mi chiede dove copiarla. L’ho copiata su text edit ed appare una stringa veramente lunga; è corretto?
3) qui mi sono persa .
nano /etc/sudoers
e decommentiamo (eliminiamo il #) la riga
# %wheel ALL=(ALL) NOPASSWD: ALL
se riesco a venirne a capo ti dedico un monumento! ;-))
Enrico
1) L’utente da inserire è l’amministratore del MAC
2) La chiave viene generata con il comando “ssh-keygen -t rsa”, per vederla – e quindi copiarla – devi fare “cat .ssh/id_rsa.pub”; ti confermo che è una stringa piuttosto lunga.
3) Qui banalmente, è necessario ottenere i permessi di root su MAC con “sudo -i” e poi editare /etc/sudoers decommentando la riga “# %wheel ALL=(ALL) NOPASSWD: ALL” che diventerà ” %wheel ALL=(ALL) NOPASSWD: ALL”
Spero possa essere tutto più chiaro, se ci sono altri problemi, non esitare a scrivere!
Grazie
Enrico
1) L’utente da inserire è l’amministratore del MAC
2) La chiave viene generata con il comando “ssh-keygen -t rsa”, per vederla – e quindi copiarla – devi fare “cat .ssh/id_rsa.pub”; ti confermo che è una stringa piuttosto lunga.
3) Qui banalmente, è necessario ottenere i permessi di root su MAC con “sudo -i” e poi editare /etc/sudoers decommentando la riga “# %wheel ALL=(ALL) NOPASSWD: ALL” che diventerà ” %wheel ALL=(ALL) NOPASSWD: ALL”
Spero possa essere tutto più chiaro, se ci sono altri problemi, non esitare a scrivere!
Grazie