Mulai ulang SSH pada mesin di mana SSH adalah satu-satunya mode akses

29

Saya telah membuat beberapa perubahan pada file sshd_config dan oleh karena itu perlu restart. Saya mencari tips tentang memulai kembali secara aman ssh ketika mendapatkan akses fisik ke server akan menjadi huga PITA.

Mitch
sumber

Jawaban:

42

Restart sshd saat login melalui ssh tidak akan memutuskan koneksi ssh Anda.

Jika Anda khawatir tentang konfigurasi Anda, masuk beberapa kali melalui ssh, dan mulai kembali. Jika Anda tidak dapat lagi ssh in, dengan koneksi baru, Anda sekarang memiliki akses untuk memperbaiki masalah.

Disebutkan di bawah ini dalam komentar oleh @Milan Babuškov: sshd -takan menguji konfigurasi Anda untuk kebenaran sintaks, jika Anda benar-benar ingin memastikan.

Saran lain, oleh @Ronald Pottol adalah mengatur crontugas untuk me-restart server dengan konfigurasi kerja yang diketahui. Mungkin berlebihan, tetapi jika Anda memperbarui server kritis misi, dll ... kadang-kadang Anda tidak pernah bisa terlalu berhati-hati.

cpbills
sumber
Itu cukup mudah, masuk akal juga. Terima kasih atas balasan yang sangat cepat. FYI perubahan yang saya buat bekerja sangat baik;)
Mitch
6

Jika Anda memiliki akses ke perangkat keras Anda dapat mempertimbangkan untuk meletakkan terminal pada port serial / dev / ttyS0. Maka Anda dapat memiliki pintu belakang ke server Anda.

cukup tambahkan

SO:2345:respawn:/sbin/mingetty ttySO

ke / etc / inittab Anda dan terminal akan muncul di port serial Anda. Anda dapat menggunakan konsentrator port serial atau menggunakan modem nol dari server di sebelahnya.

keithosu
sumber
Keren! Apakah ini praktik standar yang cantik?
Mitch
3
Cukup standar, asalkan Anda memiliki cara untuk terhubung ke mesin yang merupakan server terminal serial.
Kamil Kisiel
2
Itu bisa tetapi karena virtualisasi itu tidak perlu karena Anda dapat mengelola melalui Hypervisor. Hal keren lainnya adalah jika BIOS mendukungnya adalah "Konsol Redirection" ini akan menampilkan semua layar BIOS melalui konsol serial Anda. GRUB juga memiliki kemampuan untuk menampilkan konsol serial. Jadi tidak perlu video jarak jauh untuk melihat apakah server Anda akan kembali online.
keithosu
4

Jangan khawatir, sesi Anda saat ini tidak akan terputus, bahkan jika ada masalah dengan konfigurasi baru.

Setelah menerapkan konfigurasi baru dan memulai kembali sshd, coba masuk beberapa kali dan lihat log untuk melihat apakah semuanya baik-baik saja.

Marco Ramos
sumber
3

Atau, gunakan cron atau di tempat kerja untuk memulai kembali, jika Anda merasa tidak beruntung?

Ronald Pottol
sumber
cronatau atakan bekerja, untuk menyalin 'dikenal' berfungsi, yaitu konfigurasi lama, kembali dan kemudian lakukan restart layanan ...
cpbills
1

Tidak bisakah Anda menjalankan kill -HUP di PID layanan SSH? Ini tidak bersih tetapi berfungsi


sumber
2
Seringkali, SIGHUP adalah cara bersih untuk memuat ulang konfigurasi daemon.
grawity
Ini adalah bersih dalam kasus ini. Dari sumber resmi
Stéphane Gourichon
1
pkill -HUP sshdtutup koneksi saya. Ini berhasil:kill -HUP $(pgrep -f /usr/bin/sshd)
Tom Hale
0

Saya telah menemukan bahwa saat sshdini tidak memutuskan sesi Anda ketika memulai kembali, terutama ketika itu adalah distro berbasis Redhat. Anda selalu bisa menulis skrip kecil yang secara otomatis akan mengembalikan sshdkonfigurasi Anda dari cadangan dan memulai kembali sshdsetelah 5 menit sebagai pekerjaan cronatau atIni akan memastikan bahwa bahkan jika Anda terputus, Anda dapat kembali ke server Anda setidaknya.

Riaan
sumber
-1

Saya tidak akan merekomendasikan memulai kembali / memuat ulang SSHD pada koneksi sshd. Saya telah melihat banyak kesempatan di mana sshd tidak akan memulai kembali karena kesalahan sintaks di sshd_config.

Meskipun semuanya baik-baik saja dengan file konfigurasi, ini berisiko.

Murat Arslan
sumber
9
Anda dapat menggunakan sshd -t untuk menguji file konfigurasi sebelumnya.
Milan Babuškov
Terima kasih Milan, aku cepat-cepat mencari pilihan seperti itu, di Apache -s-nya jadi aku pasti terlalu fokus pada -s.
Mitch
saya akan menyerap komentar Anda ke dalam jawaban saya, juga ketika sshd berakhir, itu tidak menurunkan sesi ssh terbuka, tetapi ada baiknya untuk mengetahui sintaks Anda valid, jika Anda berkeringat.
cpbills