모든 사용자는 John을 제외한 키만 사용하여 로그인해야합니다. 그는 키를 사용하여 로그인 할 수 있으며 로컬 네트워크 192.168.1.x
를 사용하는 경우 암호를 사용하여 ssh 할 수 있지만 임의 IP의 암호를 사용하여 로그인 할 수 없습니다.
존에 대한 규칙을 작성하는 방법을 모르겠습니다. AllowUsers를 수행 [email protected]
합니까? 그러나 다른 IP에서 John을 거부하는 방법은 무엇입니까? John이 다른 포트를 사용하여 연결하면 어떻게됩니까?
이를 수행하는 가장 좋은 방법은 무엇입니까?
Match
지시문을 사용하여이를 수행 할 수 있어야합니다 .
시작하기 전에 서버에 대한 키 기반 액세스 (또는 물리적 액세스) 가있는 계정이 하나 이상 있는지 확인하십시오 .
그런 다음 서버의 /etc/ssh/sshd_config
파일을 편집하여 끝에 매치 블록을 추가하십시오.
Match User john Address 192.168.1.0/24
PasswordAuthentication yes
참고이 두 가지 조건, 표현하는 것으로 User john
하고 Address 192.168.1.0/24
, 모두 의 순서를 만족해야하는의 PasswordAuthentication yes
적용을. 는 0/24
것입니다 CIDR 표기법 은 192.168.2.x 서브넷에있는 주소.
이제 구성의 본문에서 다른 사용자 주소 조합에 대한 암호 인증을 비활성화 할 수 있습니다.
# Change to no to disable tunnelled clear text passwords
및 기본값 변경
#PasswordAuthentication yes
...에
PasswordAuthentication no
마지막으로 서비스를 다시 시작하십시오. systemd
기반 초기화 시스템의 경우 다음을 사용하여 수행 할 수 있습니다.
sudo systemctl restart ssh.service
클라이언트가 예를 들어 시도하도록 강요하여 일치하지 않는 사용자가 더 이상 암호를 사용하여 인증 할 수 없는지 테스트 할 수 있습니다.
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
다음과 같은 메시지로 실패해야합니다.
Permission denied (publickey).
반면 john
암호를 입력하라는 메시지가되어야한다 :
$ ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no [email protected]
[email protected]'s password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-116-generic x86_64)
로컬 네트워크 에 있을 때 암호 인증을 선호하는 메커니즘 john
으로 지정하려면 해당 클라이언트 구성에서이를 지정해야합니다.~/.ssh/ssh_config
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다