Como redireciono a conexão SSH dependendo do endereço de entrada?

1

Recentemente, recebi a tarefa de redirecionar uma conexão de entrada para um usuário específico, dependendo do endereço IP público deles ...

Por exemplo, digamos que Bob seja executado:

ssh nerd@server_ip

como eu poderia redirecioná-lo (123.123.123.123 neste exemplo) para que, em vez de fazer login como nerd , ele efetue login como admin ?

O que eu tentei

Eu tentei diferentes configurações e combinações com MatchAddress e MatchUser ... Eu também tentei usar um script com ForceCommand no SSH ...

Mais esclarecimentos

Para esclarecer mais, quero redirecionar Bob no exemplo anterior para o usuário "admin" por causa de seu endereço IP (123.123.123.123). Mas se outra pessoa, digamos que a Julia estava rodando ssh nerd@server_ip , ela redirecionaria ela para non-admin@server_ip porque o IP dela era (1.1.1.1) ...

    
por NerdOfCode 16.03.2018 / 21:58

1 resposta

0

Lado do cliente

Eu não acho que isso seja possível fazer como parte da configuração do servidor ssh. A opção "Match" não permite que a diretiva "User" seja usada com ela para forçar uma conta de usuário diferente da solicitada.

No entanto, você pode dar conselhos a Bob e Julia sobre como configurar isso em seu próprio ~/.ssh/config . Por exemplo, diga a Bob para adicionar o seguinte a este arquivo:

Host server_ip
    User admin

E Julia deve adicionar:

Host server_ip
    User non-admin

Agora, se eles adicionarem essa configuração em seus hosts clientes 123.123.123.123 ou 1.1.1.1, isso poderá torná-los capazes de executar apenas

ssh server_ip

e o cliente ssh usará admin ou não-admin como parte do usuário da conexão, dependendo do cliente onde ele é executado.

Isso não é exatamente o que você está pedindo, mas eu acho que o mais próximo que você pode conseguir é usar o ssh.

Use authorized_keys

Dependendo do que Bob e Julia precisam fazer no servidor, você também pode fazê-los usar chaves públicas para autenticação e codificar um determinado comando no arquivo authorized_keys. A vantagem disso é que no arquivo authorized_keys você pode exigir um certo endereço "de" e forçar um certo comando a ser executado. Veja a seção "AUTHORIZED_KEYS FILE FORMAT" na página de manual do sshd (8). Ainda assim, isso só permitirá que você restrinja uma determinada chave pública a ser usada a partir de um determinado endereço, não fará qualquer redirecionamento da conexão para outra conta, como você pediu originalmente.

    
por Sebastian Stark 17.03.2018 / 10:17