lakukan perubahan pada file file sshd_config tanpa server reboot


33

Saya mengubah konfigurasi dalam file

/etc/ssh/sshd_config

tetapi mendapat efek hanya setelah server reboot. Bagaimana cara mengambil perubahan tanpa me-reboot server?


Anda dapat menggunakan sudo service ssh restartuntuk memulai kembali layanan agar berlaku. Tetapi ingat jika Anda terhubung melalui SSH, sesi Anda akan dihentikan.
AzkerM

Jawaban:


39

Cukup restart layanan sshd:

sudo service sshd restart

atau:

sudo /etc/init.d/sshd restart

6
Bagaimana jika saya menggunakan koneksi ssh?
Anwar

7
tidak ada ... memantulkan sshd cukup pintar untuk mengizinkan koneksi ssh yang ada untuk terus melanjutkan tanpa henti
Scott Stensland

4
Saya tidak merekomendasikan menjalankan apa pun di /etc/init.d secara langsung. Gunakan perintah "layanan". Sebagian besar layanan tidak akan peduli, tetapi ada beberapa yang melakukannya karena dipengaruhi oleh variabel lingkungan. "layanan" memastikan lingkungan dibersihkan. Misalnya, menjalankan "sudo" meninggalkan variabel lingkungan HOME ke direktori home non-root Anda.
Chris Cogdon

5
sudo service ssh restart

tidak akan melakukannya. Anda harus memulai kembali sshd, bukan ssh:

sudo service sshd restart

3
Tergantung pada konfigurasi sistem. Di Lubuntu 14.04 sudo service ssh restartberfungsi dengan baik, sedangkan sudo service sshd restartlaporan "sshd: layanan tidak dikenal". Tidak yakin mengapa ini bervariasi ...
schulwitz

3

Ada cara yang bahkan kurang mengganggu untuk melakukan ini, tanpa memulai kembali layanan SSH.

Dari man sshd:

sshd membaca ulang file konfigurasinya ketika menerima sinyal hangup, SIGHUP, dengan mengeksekusi dirinya sendiri dengan nama dan opsi-opsi yang dimulai dengan, misalnya / usr / sbin / sshd.

Jadi, Anda dapat menggunakan perintah seperti berikut untuk mengirim SIGHUP ke proses server SSH:

sudo kill -SIGHUP $(pgrep -f "sshd -D")

Bagian pgrep -f "sshd -D"akan mengembalikan hanya PID dari proses daemon sshd yang mendengarkan koneksi baru, karena ada kemungkinan ada PID lain untuk setiap sesi aktif yang tidak memerlukan sinyal.


2
Ini adalah cara teraman ( stribika.github.io/2015/01/04/secure-secure-shell.html ) untuk memuat ulang konfigurasi: "Berhati-hatilah saat mengonfigurasi SSH pada host jarak jauh. Selalu jaga sesi aktif, jangan pernah restart sshd. Alih-alih, Anda dapat mengirim sinyal SIGHUP untuk memuat ulang konfigurasi tanpa mematikan sesi Anda. Anda bisa lebih berhati-hati dengan memulai instance sshd baru pada port yang berbeda dan mengujinya. "
Adriano Lucas

Apakah ada perbedaan yang berarti sudo pkill -HUP sshd?
AdamKalisz

@ Adam Anda hanya ingin HUP proses mendengarkan, bukan klien aktif yang juga sshdproses. sudo pkill -HUP -f "sshd -D"adalah alternatif yang menggoda, tetapi pkill memberi sinyal sudoinduknya sendiri karena baris perintah penuhnya cocok dengan pola pencariannya sendiri. Anda dapat menemukan pola yang tidak cocok dengan dirinya sendiri ... -f "sshd -[D], tetapi hal itu sedikit mengaburkan. Saya pikir metode pgrep lebih mudah bagi pelajar untuk membungkus kepala mereka.
Steven K

2

Sebagai root check

service --status-all | grep ssh

Saya tidak memiliki sshdlayanan, tetapi memiliki sshlayanan di server Ubuntu. Kemudian

service ssh restart

2

Untuk Systemd Systems - default Ubuntu

sudo systemctl reload sshd.service

atau

 sudo systemctl reload sshd

atau

 sudo /bin/systemctl reload sshd.service

Untuk Sistem Sysvinit

sudo service sshd reload

atau

sudo /etc/init.d/sshd reload

0

Muat ulang mungkin menjadi alternatif yang lebih baik untuk memulai kembali

sudo service sshd reload

di bawah tenda itu mengirimkan HUPsinyal ke proses daemon sshd hampir dengan cara yang sama Steven K sudah menjawab . Perbedaannya adalah bahwa varian ini menggunakan killprocfungsi alih-alih killperintah secara langsung untuk mengirim sinyal dengan cara yang lebih tepat (untuk mengurangi kemungkinan kesalahan pengiriman sinyal ke proses yang salah). Konfigurasi dibaca ulang tanpa memulai ulang / menghentikan layanan.

Tentu saja ada baiknya untuk mengetahui bagaimana tepatnya deamon SSH disebut sebenarnya sebagaimana orang lain bahas.

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.