특정 시간에만 SSH에 대한 액세스를 허용하려면 어떻게 해야 합니까?

특정 시간에만 SSH에 대한 액세스를 허용하려면 어떻게 해야 합니까?

우분투 18.04를 기반으로,

오전 9시부터 오후 5시까지만 접속을 허용하고 싶습니다(근무 시간) SSH 서버에서. (사용된 OpenSSH-server패키지)

구글에서 사용자 관리부터 PAM 설정까지 도움이 될 것 같은 자료는 다 찾아봤는데 SSH 시간대별로 접근을 제한하는 정보는 없는 것 같습니다.

(단, 와 같은 방화벽 관련 서비스는 이용하지 말아야 합니다 ufw.)

저를 도와주실 수 있다면 알려주시기 바랍니다. 감사합니다.

(제가 영어를 잘 못해서 영어가 부자연스러울 수 있다는 점 양해 부탁드립니다.)

답변1

모듈은 pam_time이를 위해 설계되었습니다.

  1. SSH PAM 구성의 pam_time첫 번째 문으로 추가합니다 . 이 명령은 행 바로 위에 account명령문을 삽입합니다 .account required pam_time.so@include common-account
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
  1. /etc/security/time.conf원하는대로 구성하십시오 . 이 명령은 구성을 추가합니다 sshd;*;*;Wk0900-1700. 이는 모든 사용자의 SSH 연결을 평일 오전 9시에서 오후 5시 사이로 제한합니다.
echo 'sshd;*;*;Wk0900-1700' >> /etc/security/time.conf

또한보십시오

답변2

cron 작업을 사용하여 특정 시간에 SSH 서버를 중지하고 시작합니다. 예를 들어 /etc/cron.d/start-stop-ssh다음 내용으로 파일을 만듭니다 .

0 9 * * * root /usr/sbin/service ssh start
0 17 * * * root /usr/sbin/service ssh stop

그러면 매일 9시에 SSH 서비스가 시작되고 매일 17시에 중지됩니다.

서비스가 중지되면 누구도(관리자 포함) SSH를 통해 로그인할 수 없습니다.

관련 정보