Curioso di come posso abilitare l'avvio di sshd all'avvio usando esclusivamente il terminale. La GUI è fantastica e tutto ma non va bene con i miei script di bash.
La risposta breve su come abilitare sshd dal terminale è questa:
sudo systemsetup -setremotelogin on
La lunga risposta su come eseguire daemon o script all'avvio è un po 'più lunga. Ci sono due modi (che io sappia) per fare questo:
Il primo è attraverso Elementi di avvio , che vengono eseguiti nella fase finale di avvio, questi sono deprecati e non dovrebbero essere utilizzati a meno che non sia necessaria la compatibilità con Mac OS X 10.3 o in precedenza. Puoi dare un'occhiata a come fare in questo modo in qui .
Il secondo è launchd , una sostituzione per init e rc (tra gli altri). Questo è il metodo consigliato ed è un po 'più complicato del semplice mettere uno script su una cartella come in Linux. Ci sono diversi modi per lanciare i demoni, il modo preferito per lanciarli su richiesta (quindi saranno pronti per il lancio ma non li vedrete in un ps per esempio, a meno che non li stiate usando ). La spiegazione è un po 'lunga e l'elenco delle opzioni è lungo, puoi dare un'occhiata alla documentazione qui . Puoi dare un'occhiata in / Library / LaunchAgents per gli esempi, se hai installato Chrome, c'è un file lì per l'aggiornamento software di Google chiamato com.google.keystone.agent.plist , che viene eseguito al momento del caricamento, puoi iniziare da lì.
Stavo per rendere questo un commento, ma sarebbe troppo lungo. Va un po 'più in dettaglio sul mio particolare problema e un modo diverso per abilitare il server SSH dal terminale, oltre a garantire che persista attraverso i riavvii.
Mi sono imbattuto in questa domanda perché il mio Login remoto ( sshd
) si è disattivato dopo ogni riavvio. Nessuna delle risposte ha soddisfatto la mia domanda (cioè non avevo FileVault abilitato, ecc. Ecc.).
Controlla /System/Library/LaunchDaemons/ssh.plist
e assicurati che <key>Disabled</key>
non sia impostato su <true/>
. Inoltre, per assicurarmi che si avvii all'avvio ogni volta, ho fatto apparire la voce parziale in questo modo:
....
<dict>
<key>Disabled</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>Label</key>
<string>com.openssh.sshd</string>
....
Quindi esegui quanto segue per assicurarti che le nuove impostazioni rimangano:
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
sudo reboot