Sunucu yeniden başlatılmadan sshd_config dosyasındaki değişiklikleri yapın


33

Dosyadaki konfigürasyonu değiştirdim

/etc/ssh/sshd_config

ancak yalnızca sunucuyu yeniden başlattıktan sonra etkili oldu. Sunucuyu yeniden başlatmadan değişiklikler nasıl yapılır?


sudo service ssh restartEtkili olması için hizmeti yeniden başlatmak için kullanabilirsiniz . Ancak SSH ile bağlıysanız, oturumunuzun sonlandırılacağını unutmayın.
AzkerM

Yanıtlar:


39

Sadece sshd servisini yeniden başlatın:

sudo service sshd restart

veya:

sudo /etc/init.d/sshd restart

6
Ya ssh bağlantısı içindeysem?
Anwar

7
hiçbir şey ... zıplayan sshd, mevcut ssh bağlantılarının merhametsizce devam etmesine izin verecek kadar zekidir
Scott Stensland

4
Doğrudan /etc/init.d içinde hiçbir şey çalıştırmanızı önermiyorum. "Service" komutunu kullanın. Çoğu servis umursamaz, ancak çevre değişkenlerinden etkilendikleri için bunu yapan çok az kişi vardır. "servis" çevrenin temizlenmesini sağlar. Örneğin, "sudo" çalıştırmak, HOME ortam değişkenini kök olmayan ana dizininize bırakır.
Chris Cogdon

5
sudo service ssh restart

yapmayacağım. Sshd'yi yeniden başlatmanız gerekiyor, ssh'i değil:

sudo service sshd restart

3
Sistem yapılandırmasına göre değişir. Lubuntu'da 14.04 sudo service ssh restartharika çalışıyor, oysa sudo service sshd restart"sshd: tanınmayan servis" raporları veriyor. Bunun neden
değişebildiğinden

3

SSH hizmetini yeniden başlatmadan, bunu yapmanın daha az müdahaleci bir yolu var.

Kimden man sshd:

sshd, SIGHUP adlı bir başlatma sinyali aldığında yapılandırma dosyasını, / usr / sbin / sshd gibi başlatıldığı ad ve seçeneklerle birlikte çalıştırarak yeniden okur.

Böylece, SSH sunucu işlemine SIGHUP göndermek için aşağıdaki gibi bir komut kullanabilirsiniz:

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

pgrep -f "sshd -D"Bölüm olasılıkla olmadığından yeni bağlantılar için dinler, sinyal gerekmez her aktif oturum için diğer PID'ler olmak o sshd cini sürecinin sadece PID dönecektir.


2
Bu yapılandırma yeniden yüklemenin en güvenli yoludur ( stribika.github.io/2015/01/04/secure-secure-shell.html ): "SSH'yi uzak bir ana bilgisayarda yapılandırırken çok dikkatli olun. Her zaman aktif bir oturum tutun, asla sshd'yi yeniden başlatın. Bunun yerine, oturumunuzu öldürmeden yapılandırmayı yeniden yüklemek için SIGHUP sinyalini gönderebilirsiniz. Farklı bir bağlantı noktasında yeni bir sshd örneği başlatarak ve bunu test ederek daha dikkatli olabilirsiniz. "
Adriano Lucas,

Anlamlı bir fark var mı sudo pkill -HUP sshd?
AdamKalisz

@Adam Siz de işlem yapan aktif istemcileri değil, sadece dinleme işlemini HUP yapmak istersiniz sshd. sudo pkill -HUP -f "sshd -D"cazip bir alternatif, ancak daha sonra pkill sudo, tam komut satırı kendi arama düzeniyle eşleştiğinden kendi ebeveyni işaret ediyor . Kendisiyle uyuşmayan ... -f "sshd -[D], ancak bu olayları biraz şaşırtan bir model bulabilirsin . Pgrep yönteminin, öğrencilerin kafalarını sarması için daha kolay olduğunu düşünüyorum.
Steven K

2

Kök kontrolü olarak

service --status-all | grep ssh

Hizmetim yoktu sshdama sshUbuntu sunucusunda servisim vardı . Sonra

service ssh restart

2

Sistem Sistemleri için - Ubuntu varsayılanı

sudo systemctl reload sshd.service

veya

 sudo systemctl reload sshd

veya

 sudo /bin/systemctl reload sshd.service

Sysvinit Sistemleri İçin

sudo service sshd reload

veya

sudo /etc/init.d/sshd reload

0

Yeniden yükle, yeniden başlatmak için daha iyi bir alternatif olabilir

sudo service sshd reload

Kaputun altında, HUPSteven K'nın zaten cevapladığı gibi sshd daemon sürecine sinyal gönderir . Aradaki fark, bu varyantın , sinyali daha kesin bir şekilde göndermek için (doğrudan sinyallerin yanlış işlemlere gönderilmesi olası hatalarını azaltmak için) doğrudan komut killprocyerine işlevi kullanmasıdır kill. Yapılandırma hizmeti yeniden başlatmadan / durdurmadan yeniden okunur.

Tabii ki SSH deamon'un gerçekte diğerlerinin tartıştıkları gibi nasıl adlandırıldığını bulmakta fayda var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.