Command Line SSH restart Mac OSX Mountain Lion

62

Bagaimana saya bisa memulai kembali layanan SSH melalui baris perintah pada Mac OSX Mountain Lion?

Dengan menggunakan ps aux | grep 'ssh', saya dapat menyimpulkan bahwa prosesnya kemungkinan besar /usr/sbin/sshd.

Dari sini saya mencari referensi sshd untuk 'restart' tetapi tidak menemukannya.

Saya tidak tahu apa langkah saya selanjutnya.

James Webster
sumber
4
Apa yang sebenarnya ingin Anda capai? Jika sesuatu seperti memuat ulang konfigurasi sshd, Anda tidak perlu - launchd memulai proses sshd baru sesuai permintaan ketika koneksi masuk diterima, yang berarti bahwa konfigurasi tersebut secara otomatis membaca ulang untuk setiap koneksi baru. OTOH, jika Anda mencoba mengubah pengaturan pendengar, itu dikontrol oleh launchd bukan konfigurasi sshd sama sekali (lihat di sini ).
Gordon Davisson
1
Ini hanya satu tes untuk men-debug permintaan kata sandi dari kata sandi yang seharusnya tanpa kata sandi menggunakan kunci publik. Ternyata hal yang saya lewatkan adalah mematikan StrictMode
James Webster

Jawaban:

42

Lihat jawaban ini untuk pertanyaan serupa di ServerFault. Perintahnya harus sama di Mountain Lion.

Anda dapat menghentikan layanan menggunakan sub perintah 'unload'.

sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist

Pembaruan disarankan oleh @MattClark: Untuk memulai kembali penggunaan layanan loadsetelah unload:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Perhatikan bahwa sesi SSH yang ada akan dihentikan, jadi Anda harus menjalankan ini independen dari sesi pengguna saat ini.

Ansgar Wiechers
sumber
Yang ini membuat sayalaunchctl: Error unloading: com.openssh.sshd
Nicolas Miari
1
@MattClark Maka saya sarankan Anda menjauh dari mesin produksi sampai Anda meningkatkan pemahaman membaca Anda. Dari jawaban saya: "Anda dapat BERHENTI layanan ..." (penekanan milik saya).
Ansgar Wiechers
3
Anda benar, saya salah membaca ini, itu salah saya. Namun, ini juga tidak menjawab pertanyaan seperti yang ditanyakan.
Matt Clark
Anda dapat menjalankan ini sekaligus dengan Cx Ce (C adalah singkatan dari Control). Rekatkan ke terminal, lalu Cx Cc untuk menjalankan perintah emacs kill, yang akan meminta Anda untuk menyimpan. Saya melakukan ini dari jarak jauh dan itu tidak mematikan koneksi saya ... mengingat konfigurasi Anda sudah benar.
Ray Foss
92

Tidak ada alasan untuk 'membongkar' layanan sshd, padahal sebaliknya Anda bisa 'Menghentikan' layanan sshd. Ini akan restart sendiri.

sudo launchctl stop com.openssh.sshd
glenschler
sumber
2
pada moutain singa:launchctl stop error: No such process
RickyA
1
@ RickyA: Bekerja dengan baik pada OSX Mavericks
neu242
Tidak berfungsi di sini ( launchctl stop error: No such process)
Nicolas Miari
1
Anda perlu sudokarena itulah cara diluncurkan. Bandingkan berjalan daemon / agen launchctl list | grep -i opensshvs sudo launchctl list | grep -i openssh. Untuk referensi, baca tautan
glenschler
Ini tidak lagi berfungsi di OS X Yosemite, berusaha menghentikan sshd (sebagai root) menghasilkan status keluar 3, dan layanan terus berjalan.
RCross
4

Saya tidak dapat mengkonfirmasi jawaban Ansgar bekerja karena tidak ada pesan / tanda yang jelas meskipun saya yakin itu benar.

Saya juga menemukan killall sshdyang membunuh dan me-restart proses sshd dengan kelemahan bahwa setiap koneksi dihentikan.

James Webster
sumber