SSHD가 자동으로 시작되지 않도록하려면 어떻게합니까?


32

openssh-server를 설치 한 후 부팅 할 때마다 서버가 시작됩니다. 수동 작업을 원하면 어떻게해야합니까?

upstart 버전 0.6.7 이상에서는 작업 파일에 "수동"스탠자를 추가합니다.

10.04는 0.6.5-8에서 시작되었습니다. 이 경우 ssh가 자동으로 시작되지 않도록하는 기본 방법은 무엇입니까?

답변:


31

/etc/init/ssh.conf의 이름을 /etc/init/ssh.conf.disabled로 바꾸십시오.

sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled

빠르고 쉽고 자체 문서화. 완전한.
LeartS

1
보다 더 나은 방법echo manual | sudo tee /etc/init/ssh.conf.override 은 다음을 참조하십시오. 방법 사용 / 사용 안 함 서비스
여기

echo manual | sudo tee /etc/init/ssh.conf.overridesudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled매번 다시 변경하지 않고 서버를 수동으로 시작하지 못하기 때문에 훨씬 더 나은 대답처럼 보입니다 .
Brian Z

@BrianZ 대신 ssh.conf.override나를 위해 작동하지 않습니다 ssh.override.
fikr4n

이것은 권장되는 방법이 아닙니다. 서비스가 실행되지 않아야한다는 것을 OS에 알리지 않습니다. update-rc.d그렇게 하려면 (또는 이와 동등한) 사용하십시오 .
Reinier Post

19

이것으로 충분해야합니다.

 update-rc.d ssh enable # sets the default runlevels to on 
 update-rc.d ssh disable # sets all to off

이것은 시작 작업이나 오래된 sys v init 스크립트에서 작동합니까?
komputes

upstart (종속성 기반 부팅)를 사용하는 경우에도 이것으로 충분합니다
hhlp

그것은 말합니다System start/stop links for /etc/init.d/ssh do not exist.
fikr4n

7

/etc/init/ssh.conf에서 시작 부분을 주석으로 처리하십시오 .

# ssh - OpenBSD Secure Shell server
#
# The OpenSSH server provides secure shell access to the system.

description     "OpenSSH server"

#start on filesystem or runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 022

1
나는 일반적으로 @komputes와 hhlp가 언급 한보 다 일반적인 메커니즘을 사용하는 것이 좋습니다. 비록 이것이 단일 경우에 적합합니다.
belacqua 2016 년

6

독자에게 참고 :

나를 위해 (ubuntu 14.xx) Bryan Agee의 대답 만 작동했습니다 : /etc/init/ssh.conf : "filesystem 또는 runlevel ...에서 시작"줄을 주석 처리하십시오.

다른 사람들은 왜하지 않습니까?

sudo mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled

서비스 가 완전히 비활성화 됩니다. 그러면 더 이상 "service ssh start"를 통해 시작할 수 없습니다.

update-rc.d ssh enable #은 기본 런레벨을 on으로 설정합니다

단순히 작동하지 않습니다 (아마도 다른 자동 시작 루틴을 사용합니다)

"수동"으로 /etc/init/ssh.conf.override

단순히 작동하지 않습니다

/ etc / ssh / sshd_not_to_be_run을 터치합니다

시스템을 완전히 비활성화합니다

sudo apt-get 설치 범

멋진 소프트웨어이지만 ssh를 표시하지 않으므로 여기서 할 일이 없습니다.

사람이 질문 : 왜 위의 답변이 여기에 있습니까? 시작 시스템이 너무 복잡하거나 아무도 자신의 솔루션을 시도하지 않습니까? 우


우분투 14.04에 대해서만 이야기하고 있습니다. 이제 보편적 인 해결책을 찾아보십시오 ...
LatinSuD

5

systemd올바른 방법을 가진 시스템 의 경우

sudo systemctl disable ssh.service

그때

sudo systemctl stop ssh.service

1
이로 인해 sshd16.04에 문제가 발생 했습니다. 명령 후 systemctl enable ssh.service"파일을 찾을 수 없음"이라고보고 한 후 sshd를 제거하고 다시 설치해야 작동합니다.
BeeOnRope

3
sudo apt-get install bum

bum관리 권한으로 시작 하고 openssh-server를 비활성화 한 후 확인하십시오.


2

upstart로 ssh가 시작된 버전의 경우을 실행하십시오 touch /etc/ssh/sshd_not_to_be_run. upstart init 스크립트는이 파일을 검사하고 존재하는 경우 sshd를 시작하지 않습니다.


2

제공된 수동 방법 /etc/init/ssh.config.override 방법은 Ubuntu 14.04.03을 사용하는 경우 작동하지 않습니다. sshd여전히 자동으로 시작됩니다.

/etc/ssh/sshd_not_to_be_run방법은 수동 sshd시작을 방지 합니다.

의 줄에서 "시작"을 제거하는 Brian Agee의 방법을 사용해야했습니다 /etc/init/ssh.conf. 그런 다음 수동으로 시작하십시오 sshd.

sudo service ssh start

1

나는 같은 질문을했고 여기에 내가 한 일이 있습니다. 아마도 약간의 해킹 일지 모르지만 충분히 잘 작동하므로 프로그램을 손상시킬 필요가 없습니다. crontab에 다음을 입력하십시오.

@reboot sudo service ssh stop

이 이야기 cron중지 ssh당신이 당신의 컴퓨터를 켤 때마다. 사용 ssh이 단지 서버 서비스 끕니다으로 다른 컴퓨터에 연결하는 것은 영향을받지 않습니다. 잠시 동안 다시 활성화하려면 다음을 수행해야합니다.

sudo service ssh start

완료되면 다시 끄는 것을 잊지 마십시오!


이것은 물론 Xubuntu 16.04 시스템에서 작동합니다 systemd. 나는 이것이 사전 시스템 우분투 시스템에서 작동한다고 생각하지 않습니다.
ARandomScientist

1
cron-job을 만드는 대신에 적절한 방법은로 비활성화하는 것입니다 sudo systemctl disable sshd.service. 그러나 스스로 언급했듯이 init 시스템은 질문의 시스템과 다릅니다. 이전 init 시스템에 대한 모든 관련 정보는이 게시물 askubuntu.com/questions/19320/…
db429
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.