서버 재부팅없이 파일 sshd_config 파일을 변경하십시오.


33

파일에서 구성을 변경했습니다

/etc/ssh/sshd_config

서버를 재부팅 한 후에 만 ​​적용됩니다. 서버를 재부팅하지 않고 변경하는 방법은 무엇입니까?


당신은 사용할 수 있습니다 sudo service ssh restart을 적용하려면 서비스를 다시 시작합니다. 그러나 SSH를 통해 연결되면 세션이 종료됩니다.
AzkerM

답변:


39

sshd 서비스를 다시 시작하면됩니다.

sudo service sshd restart

또는:

sudo /etc/init.d/sshd restart

6
ssh 연결을 사용하면 어떻게됩니까?
Anwar

7
아무것도 ... SSHD를 수신 거부하는 것은 즐겁게 계속 기존의 ssh 연결을 허용하는 스마트 충분하지 줄지
스콧 Stensland

4
/etc/init.d에서 직접 실행하는 것은 권장하지 않습니다. "service"명령을 사용하십시오. 대부분의 서비스는 신경 쓰지 않지만 환경 변수의 영향을 받기 때문에 몇 가지가 있습니다. "서비스"는 환경을 깨끗하게합니다. 예를 들어, "sudo"를 실행하면 HOME 환경 변수가 루트가 아닌 홈 디렉토리에 남습니다.
Chris Cogdon

5
sudo service ssh restart

하지 않습니다. ssh가 아닌 sshd를 다시 시작해야합니다.

sudo service sshd restart

3
시스템 구성에 따라 다릅니다. Lubuntu 14.04에서는 "sshd : 인식 할 수없는 서비스"라는 보고서 sudo service ssh restart가 훌륭하게 작동합니다 sudo service sshd restart. 왜 이것이
다른지 잘 모르겠습니다

3

SSH 서비스를 다시 시작하지 않고도이 작업을 수행하는 데 방해가되지 않습니다.

보낸 사람 man sshd:

sshd는 / usr / sbin / sshd와 같이 시작된 이름과 옵션으로 자신을 실행하여 행업 신호 SIGHUP을 수신 할 때 구성 파일을 다시 읽습니다.

따라서 다음과 같은 명령을 사용하여 SIGHUP을 SSH 서버 프로세스로 보낼 수 있습니다.

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

pgrep -f "sshd -D"부분은 가능성이 있기 때문에 새로운 연결을 청취가, 신호가 필요하지 않습니다 각 활성 세션에 대한 다른 PID를 수있는 sshd 데몬 프로세스의 PID를 반환합니다.


2
이것은 구성을 다시로드 하는 가장 안전한 방법 ( stribika.github.io/2015/01/04/secure-secure-shell.html )입니다. "원격 호스트에서 SSH를 구성 할 때 매우주의하십시오. 항상 활성 세션을 유지하십시오. 대신 세션을 종료하지 않고 SIGHUP 신호를 보내 구성을 다시로드 할 수 있습니다. 다른 포트에서 새 sshd 인스턴스를 시작하고 테스트하면 더욱주의를 기울일 수 있습니다. "
Adriano Lucas

에 의미있는 차이가 sudo pkill -HUP sshd있습니까?
AdamKalisz

@Adam 프로세스 인 활성 클라이언트가 아닌 리스닝 프로세스 만 HUP하고 싶습니다 sshd. sudo pkill -HUP -f "sshd -D"유혹적인 대안이지만 pkill sudo은 전체 명령 행이 자체 검색 패턴과 일치하므로 자체 상위를 신호합니다 . 와 (과) 일치하지 않는 패턴을 생각해 낼 수 ... -f "sshd -[D]있지만 약간 난독 화됩니다. 나는 pgrep 방법이 학습자들이 머리를 감싸기 더 쉽다고 생각합니다.
Steven K

2

루트 점검으로

service --status-all | grep ssh

나는 sshd서비스 가 없었지만 ssh우분투 서버에서 서비스를 받았다 . 그때

service ssh restart

2

시스템 시스템의 경우-우분투 기본값

sudo systemctl reload sshd.service

또는

 sudo systemctl reload sshd

또는

 sudo /bin/systemctl reload sshd.service

Sysvinit 시스템의 경우

sudo service sshd reload

또는

sudo /etc/init.d/sshd reload

0

새로 고침을 다시 시작하는 것이 더 좋습니다.

sudo service sshd reload

후드 아래에서 HUPSteven K가 이미 응답 한 것과 거의 같은 방식으로 sshd 데몬 프로세스에 신호를 보냅니다 . 차이점은이 변형은 신호를보다 정확한 방식으로 전송하기 위해 명령 killproc대신 kill직접 기능을 사용한다는 것입니다 (잘못된 프로세스로 신호를 보내는 오류 발생 가능성을 줄이기 위해). 서비스를 다시 시작 / 중지하지 않고 구성을 다시 읽습니다.

물론 다른 사람들이 논의한 것처럼 실제로 SSH 데몬이 정확히 어떻게 호출되는지 알아내는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.