Come disabilitare l'avvio automatico di SSHD?


32

Dopo aver installato openssh-server, il server si avvia ogni volta che avvio. Se voglio che sia manuale, cosa devo fare?

Nella versione 0.6.7+ di upstart aggiungerei una stanza "manuale" al file di lavoro.

10.04 ha avviato 0.6.5-8. Qual è il modo preferito per disabilitare l'avvio automatico di ssh in questo caso?

Risposte:


31

Rinomina /etc/init/ssh.conf in /etc/init/ssh.conf.disabled.

sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled

Veloce, facile e auto-documentante. Perfezionare.
LeartS,

1
Forse anche meglio di echo manual | sudo tee /etc/init/ssh.conf.override, vedi anche come abilitare o disabilitare i servizi
qui

echo manual | sudo tee /etc/init/ssh.conf.overridesembra una risposta molto migliore, perché sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabledimpedisce anche l'avvio manuale del server senza cambiarlo ogni volta.
Brian Z,

@BrianZ ssh.conf.overridenon funziona per me, ssh.overrideinvece.
fikr4n,

Questo non è il modo raccomandato. Non stai dicendo al sistema operativo che il servizio non dovrebbe essere eseguito. Usa update-rc.d(o equivalente) per farlo.
Reinier Post,

19

Questo dovrebbe essere abbastanza:

 update-rc.d ssh enable # sets the default runlevels to on 
 update-rc.d ssh disable # sets all to off

Funziona con un lavoro upstart o solo con vecchi script sys v init?
kompute il

Questo dovrebbe essere sufficiente, anche se si utilizza upstart (avvio in base alla dipendenza)
hhlp

DiceSystem start/stop links for /etc/init.d/ssh do not exist.
fikr4n,

7

Nel tuo /etc/init/ssh.conf, commenta l' inizio on line:

# ssh - OpenBSD Secure Shell server
#
# The OpenSSH server provides secure shell access to the system.

description     "OpenSSH server"

#start on filesystem or runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 022

1
Sono dell'opinione che in generale sia meglio usare i meccanismi più generici che @komputes e hhlp menzionano. Anche se questo va bene per un singolo caso.
belacqua,

6

nota per il lettore:

per me (ubuntu 14.xx) solo la risposta di Bryan Agee ha funzionato: /etc/init/ssh.conf: commenta la riga "start on filesystem or runlevel ..."

perché gli altri non lo fanno?

sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled

comporterà la disattivazione completa del servizio. Quindi non è più avviabile tramite "service ssh start".

update-rc.d ssh enable # imposta i runlevel predefiniti su on

semplicemente non funziona (forse utilizza diverse routine di avvio automatico)

/etc/init/ssh.conf.override con "manuale"

semplicemente non funziona

toccare / etc / ssh / sshd_not_to_be_run

disabilita anche completamente il sistema

sudo apt-get install bum

bel software, ma non mostra ssh, quindi niente da fare qui

persona che fa domande: perché le risposte di cui sopra sono anche qui? il sistema di avvio è così complicato o nessuno prova le sue soluzioni? oO


E stiamo parlando solo di Ubuntu 14.04. Ora prova a trovare una soluzione universale ...
LatinSuD

5

Per il sistema che ha systemdil modo corretto di farlo è

sudo systemctl disable ssh.service

poi

sudo systemctl stop ssh.service

1
Questo ha rotto il mio sshd16.04: dopo quel comando systemctl enable ssh.serviceriporta "File not found" e ho dovuto eliminare e reinstallare sshd per farlo funzionare.
BeeOnRope,

3
sudo apt-get install bum

Inizia bumcon i privilegi di amministratore, disabilita openssh-server, confermalo, fatto.


2

Per le versioni con ssh avviate da upstart, esegui touch /etc/ssh/sshd_not_to_be_run. Lo script init upstart controlla questo file e, se esistente, non avvia sshd.


2

Il metodo manuale fornito /etc/init/ssh.config.override non funziona per me usando Ubuntu 14.04.03. sshdsi avvia ancora automaticamente.

Il /etc/ssh/sshd_not_to_be_runmetodo impedisce l' sshdavvio manuale .

Ho dovuto usare il metodo di Brian Agee per rimuovere "start on" on line di /etc/init/ssh.conf. Quindi per avviare manualmente sshd:

sudo service ssh start

1

Ho avuto la stessa domanda ed ecco cosa ho fatto al riguardo. È un po 'un trucco, forse, ma funziona abbastanza bene e non è necessario compromettere il programma in alcun modo. Inserisci quanto segue nel tuo crontab:

@reboot sudo service ssh stop

Questo dice crondi fermarsi sshogni volta che accendi il computer. L'uso sshper connettersi a un altro computer non è interessato, in quanto ciò disattiva solo il servizio server. E se vuoi riattivarlo per un breve periodo, tutto ciò che devi fare è:

sudo service ssh start

Ricorda solo di spegnerlo quando hai finito!


Funziona sul mio sistema Xubuntu 16.04 che, ovviamente, usa systemd. Non credo che funzionerà su sistemi Ubuntu pre-sistemati.
ARandomScientist,

1
Invece di fare un cron-job, il modo corretto sarebbe disabilitarlo sudo systemctl disable sshd.service, ma come tu stesso hai menzionato il tuo sistema init è molto diverso da quello nella domanda. tutte le informazioni utili sui vecchi sistemi init possono essere trovate nelle prime due risposte in questo post askubuntu.com/questions/19320/…
db429,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.