SSH 터널을 특정 사용자로 제한

SSH 터널을 특정 사용자로 제한

다음과 같이 게이트웨이에서 SSH 터널을 열었습니다.

autossh -M 30000 -f -N example.com -L \*:20022:192.168.1.40:22

John이라는 사용자가 이 SSH 터널만 사용하도록 하고 John 이외의 사용자는 포트 20022를 사용하여 SSH를 사용할 수 없도록 다른 모든 사용자를 제한하도록 하려면 어떻게 해야 합니까? 사용자 john은 로컬 사용자이든 LDAP이든 내 게이트웨이에 존재하지 않습니다.

답변1

클라이언트가 Linux 호스트인 경우 다음을 사용하여 수행할 수 있습니다.iptables:

iptables -A OUTPUT --dest 192.168.1.40 --dport 22 -m owner --uid-owner john -j ACCEPT
iptables -A OUTPUT --dest 192.168.1.40 --dport 22 -j REJECT

이 조건은 소스 포트 20022가 아닌 대상 주소 및 포트에 대한 것입니다. 실제로 하나의 소스 포트에서만 액세스를 제한하려면 및 --sport 20022대신을 사용할 수 있습니다 . 그러나 물론 다른 사용자가 다른 포트에서 유사한 터널을 여는 것을 막을 수는 없습니다.--dest--dport

답변2

John의 공개 키만 게이트웨이의authorized_keys 파일에 게시합니다. 비밀번호 인증을 켭니다.

관련 정보