파일에서 구성을 변경했습니다
/etc/ssh/sshd_config
서버를 재부팅 한 후에 만 적용됩니다. 서버를 재부팅하지 않고 변경하는 방법은 무엇입니까?
파일에서 구성을 변경했습니다
/etc/ssh/sshd_config
서버를 재부팅 한 후에 만 적용됩니다. 서버를 재부팅하지 않고 변경하는 방법은 무엇입니까?
답변:
sshd 서비스를 다시 시작하면됩니다.
sudo service sshd restart
또는:
sudo /etc/init.d/sshd restart
sudo service ssh restart
하지 않습니다. ssh가 아닌 sshd를 다시 시작해야합니다.
sudo service sshd restart
sudo service ssh restart
가 훌륭하게 작동합니다 sudo service sshd restart
. 왜 이것이
SSH 서비스를 다시 시작하지 않고도이 작업을 수행하는 데 방해가되지 않습니다.
보낸 사람 man sshd
:
sshd는 / usr / sbin / sshd와 같이 시작된 이름과 옵션으로 자신을 실행하여 행업 신호 SIGHUP을 수신 할 때 구성 파일을 다시 읽습니다.
따라서 다음과 같은 명령을 사용하여 SIGHUP을 SSH 서버 프로세스로 보낼 수 있습니다.
sudo kill -SIGHUP $(pgrep -f "sshd -D")
pgrep -f "sshd -D"
부분은 가능성이 있기 때문에 새로운 연결을 청취가, 신호가 필요하지 않습니다 각 활성 세션에 대한 다른 PID를 수있는 sshd 데몬 프로세스의 PID를 반환합니다.
sudo pkill -HUP sshd
있습니까?
sshd
. sudo pkill -HUP -f "sshd -D"
유혹적인 대안이지만 pkill sudo
은 전체 명령 행이 자체 검색 패턴과 일치하므로 자체 상위를 신호합니다 . 와 (과) 일치하지 않는 패턴을 생각해 낼 수 ... -f "sshd -[D]
있지만 약간 난독 화됩니다. 나는 pgrep 방법이 학습자들이 머리를 감싸기 더 쉽다고 생각합니다.
루트 점검으로
service --status-all | grep ssh
나는 sshd
서비스 가 없었지만 ssh
우분투 서버에서 서비스를 받았다 . 그때
service ssh restart
새로 고침을 다시 시작하는 것이 더 좋습니다.
sudo service sshd reload
후드 아래에서 HUP
Steven K가 이미 응답 한 것과 거의 같은 방식으로 sshd 데몬 프로세스에 신호를 보냅니다 . 차이점은이 변형은 신호를보다 정확한 방식으로 전송하기 위해 명령 killproc
대신 kill
직접 기능을 사용한다는 것입니다 (잘못된 프로세스로 신호를 보내는 오류 발생 가능성을 줄이기 위해). 서비스를 다시 시작 / 중지하지 않고 구성을 다시 읽습니다.
물론 다른 사람들이 논의한 것처럼 실제로 SSH 데몬이 정확히 어떻게 호출되는지 알아내는 것이 좋습니다.
sudo service ssh restart
을 적용하려면 서비스를 다시 시작합니다. 그러나 SSH를 통해 연결되면 세션이 종료됩니다.