Anda dapat menggunakan sudo service ssh restartuntuk memulai kembali layanan agar berlaku. Tetapi ingat jika Anda terhubung melalui SSH, sesi Anda akan dihentikan.
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:
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.
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
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.
sudo service ssh restart
untuk memulai kembali layanan agar berlaku. Tetapi ingat jika Anda terhubung melalui SSH, sesi Anda akan dihentikan.Jawaban:
Cukup restart layanan sshd:
atau:
sumber
tidak akan melakukannya. Anda harus memulai kembali sshd, bukan ssh:
sumber
sudo service ssh restart
berfungsi dengan baik, sedangkansudo service sshd restart
laporan "sshd: layanan tidak dikenal". Tidak yakin mengapa ini bervariasi ...Ada cara yang bahkan kurang mengganggu untuk melakukan ini, tanpa memulai kembali layanan SSH.
Dari
man sshd
:Jadi, Anda dapat menggunakan perintah seperti berikut untuk mengirim SIGHUP ke proses server SSH:
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.sumber
sudo pkill -HUP sshd
?sshd
proses.sudo pkill -HUP -f "sshd -D"
adalah alternatif yang menggoda, tetapi pkill memberi sinyalsudo
induknya 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.Sebagai root check
Saya tidak memiliki
sshd
layanan, tetapi memilikissh
layanan di server Ubuntu. Kemudiansumber
Untuk Systemd Systems - default Ubuntu
atau
atau
Untuk Sistem Sysvinit
atau
sumber
Muat ulang mungkin menjadi alternatif yang lebih baik untuk memulai kembali
di bawah tenda itu mengirimkan
HUP
sinyal ke proses daemon sshd hampir dengan cara yang sama Steven K sudah menjawab . Perbedaannya adalah bahwa varian ini menggunakankillproc
fungsi alih-alihkill
perintah 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.
sumber