Bagaimana cara menonaktifkan SSHD dari memulai secara otomatis?


32

Setelah menginstal openssh-server, server mulai setiap kali saya boot. Jika saya ingin manual, apa yang harus saya lakukan?

Dalam versi 0.6.7+ dari pemula saya akan menambahkan bait "manual" ke file pekerjaan.

10,04 memiliki pemula 0,6,5-8. Apa cara yang disukai untuk menonaktifkan ssh dari memulai secara otomatis dalam kasus ini?

Jawaban:


31

Ganti nama /etc/init/ssh.conf menjadi /etc/init/ssh.conf.disabled.

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

Cepat, mudah, dan mendokumentasikan diri sendiri. Sempurna.
LeartS

1
Mungkin bahkan lebih baik daripada echo manual | sudo tee /etc/init/ssh.conf.override, lihat juga bagaimana cara mengaktifkan atau menonaktifkan layanan
sini

echo manual | sudo tee /etc/init/ssh.conf.overridesepertinya jawaban yang jauh lebih baik, karena sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabledjuga mencegah memulai server secara manual tanpa mengubahnya kembali setiap waktu.
Brian Z

@BrianZ ssh.conf.overridetidak bekerja untuk saya, ssh.overridesebagai gantinya.
fikr4n

Ini bukan cara yang disarankan. Anda tidak memberi tahu OS bahwa layanan ini seharusnya tidak berjalan. Gunakan update-rc.d(atau setara) untuk melakukan itu.
Reinier Post

19

Ini sudah cukup ,:

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

Apakah ini bekerja dengan pekerjaan pemula atau hanya skrip sys v init lama?
komputes

Ini seharusnya cukup, bahkan jika Anda menggunakan pemula (boot dependensi-basis)
hhlp

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

7

Di /etc/init/ssh.conf Anda, beri komentar pada baris awal :

# 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
Saya berpendapat bahwa secara umum lebih baik menggunakan mekanisme yang lebih umum yang @komputes dan hhlp sebutkan. Meskipun ini baik untuk satu kasus.
belacqua

6

catatan untuk pembaca:

untuk saya (ubuntu 14.xx) hanya jawaban Bryan Agee yang berfungsi: /etc/init/ssh.conf: beri komentar pada baris "start on filesystem or runlevel ..."

mengapa yang lain tidak melakukannya?

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

akan mengakibatkan sepenuhnya menonaktifkan layanan. Maka tidak dapat dijalankan melalui "service ssh start" lagi.

update-rc.d ssh memungkinkan # menyetel runlevel default ke aktif

tidak berfungsi (mungkin menggunakan rutin autostart yang berbeda)

/etc/init/ssh.conf.override dengan "manual"

tidak bekerja

sentuh / etc / ssh / sshd_not_to_be_run

juga sepenuhnya menonaktifkan sistem

sudo apt-get install bum

perangkat lunak yang bagus, tetapi tidak menunjukkan ssh, jadi tidak ada hubungannya di sini

pertanyaan orang: mengapa jawaban di atas ada di sini? apakah sistem start sangat rumit atau tidak ada yang mencoba solusinya? oo


Dan kita hanya berbicara tentang Ubuntu 14.04. Sekarang cobalah untuk menemukan solusi universal ...
LatinSuD

5

Untuk sistem yang memiliki systemdcara yang tepat untuk melakukannya adalah

sudo systemctl disable ssh.service

kemudian

sudo systemctl stop ssh.service

1
Ini saya rusak sshdpada 16,04: setelah perintah itu systemctl enable ssh.servicemelaporkan "File tidak ditemukan" dan saya harus membersihkan dan menginstal ulang sshd untuk membuatnya berfungsi.
BeeOnRope

3
sudo apt-get install bum

Mulai bumdengan hak administratif, nonaktifkan openssh-server, konfirmasi, selesai.


2

Untuk versi dengan ssh dimulai oleh pemula, jalankan touch /etc/ssh/sshd_not_to_be_run. Skrip init pemula memeriksa file ini dan, jika ada, tidak memulai sshd.


2

Metode manual yang disediakan metode /etc/init/ssh.config.override tidak berfungsi untuk saya menggunakan Ubuntu 14.04.03. sshdmasih dimulai secara otomatis.

The /etc/ssh/sshd_not_to_be_runMetode mencegah pengguna sshdawal.

Saya harus menggunakan metode Brian Agee untuk menghapus "mulai" pada baris /etc/init/ssh.conf. Kemudian untuk memulai secara manual sshd:

sudo service ssh start

1

Saya memiliki pertanyaan yang sama dan inilah yang saya lakukan. Mungkin sedikit hack, tapi itu bekerja dengan cukup baik, dan Anda tidak perlu kompromi dengan program apa pun. Masukkan yang berikut ini di crontab Anda:

@reboot sudo service ssh stop

Ini memberitahu cronuntuk berhenti sshsetiap kali Anda menyalakan komputer Anda. Menggunakan sshuntuk terhubung ke komputer lain tidak terpengaruh, karena ini hanya mematikan layanan server. Dan jika Anda ingin mengaktifkannya kembali untuk sementara waktu, yang harus Anda lakukan adalah:

sudo service ssh start

Ingatlah untuk mematikannya kembali setelah selesai!


Ini berfungsi pada sistem Xubuntu 16.04 saya yang, tentu saja, menggunakan systemd. Saya tidak percaya ini akan bekerja pada sistem Ubuntu pra-systemd.
ARandomScientist

1
Alih-alih membuat cron-job, cara yang tepat adalah dengan menonaktifkannya sudo systemctl disable sshd.service, namun seperti yang Anda sebutkan sendiri sistem init Anda jauh berbeda dengan yang ada di pertanyaan. semua info yang relevan tentang sistem init yang lebih lama dapat ditemukan di dua jawaban pertama dalam posting ini askubuntu.com/questions/19320/…
db429
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.