Restringir o túnel SSH a um usuário específico

Restringir o túnel SSH a um usuário específico

Abri um túnel ssh no meu gateway assim:

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

Como posso fazer com que um usuário, digamos John, use apenas esse túnel ssh e restrinja todos os outros usuários que tenho, para que nenhum usuário, exceto John, possa fazer ssh usando a porta 20022? Observe que o usuário john não existe no meu gateway, seja como usuário local ou no LDAP.

Responder1

Se o cliente for um host Linux, você poderá fazer isso comtabelas de ip:

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

Observe que isso condiciona o endereço e a porta de destino, não a porta de origem 20022. Se você realmente deseja restringir o acesso apenas a essa porta de origem, poderá usar --sport 20022em vez de --deste --dport. Mas é claro que isso não impedirá outro usuário de abrir um túnel semelhante em uma porta diferente.

Responder2

Publique apenas a chave pública de John no arquivoauthorized_keys no gateway. Turno de autenticação pw.

informação relacionada