A diretiva 'StrictModes' não é permitida dentro de um bloco de correspondência [duplicado]

1

Estou construindo uma rede de receptores Raspberry Pi ADS-B . Vários nós colocados em diferentes locais: casa, alojamento, pais, talvez mais para vir ... Eles estão todos configurados para phone home para um Amazon-EC2 usando um túnel ssh reverso.

O que eu realmente quero alcançar é alguma maneira de distinguir qual nó é qual e qual porta local usar para o SSH para o nó.

Como sudo netstat -tlpe --numeric-ports | grep sshd mostra quais usuários estão executando o processo, estou pensando em ter um usuário para cada túnel. Eu quero restringir os usuários apenas para o túnel reverso do SSH. De preferência, quero manter todas as chaves do nó (múltiplas) no mesmo arquivo authorized_keys e manter StrictModes yes para todos os outros usuários.

Acabei executando os seguintes comandos:

sudo groupadd sshtungrp
sudo useradd sshtunnel -m -d /home/sshtunnel -s /bin/true -g sshtungrp
while read p; do sudo useradd $p -M -d /home/sshtunnel -s /bin/true -g sshtungrp; done < users.txt;

sudo -u sshtunnel mkdir /home/sshtunnel/.ssh
sudo -u sshtunnel vim /home/sshtunnel/.ssh/authorized_keys

sudo -u sshtunnel chmod 750 /home/sshtunnel
sudo -u sshtunnel chmod 750 /home/sshtunnel/.ssh
sudo -u sshtunnel chmod 640 /home/sshtunnel/.ssh/authorized_keys

Para /etc/ssh/sshd_config adicionei:

Match Group *,!sshtungrp
        StrictModes yes

E recebo a mensagem de erro Directive 'StrictModes' is not allowed within a Match block . Como posso superar isso ou de outra forma acabar alcançando meu objetivo de saber qual nó é qual e qual porta local usar para o SSH para o nó?

    
por wittrup 12.12.2016 / 00:42

1 resposta

2

Você deseja distinguir entre origens de conexão diferentes, dando a elas usuários diferentes. Não faz sentido compartilhar o arquivo authorized_keys entre esses diferentes usuários, porque qualquer uma das chaves permitiria o login em qualquer uma das contas. (Funcionaria , mas a separação de contas não traria qualquer benefício de segurança.)

Portanto, tenha um arquivo authorized_keys para cada usuário, pertencente ao root. Cada arquivo authorized_keys autoriza apenas a chave correspondente a essa conta. Criar várias chaves é barato, não há motivo para não fazê-lo. Você não precisa desativar StrictModes . Você pode usar a diretiva AuthorizedKeysFile em um bloco Match para cada usuário ou ter uma única diretiva AuthorizedKeysFile contendo %u , que é substituída pelo nome de usuário.

Criação de usuários de túneis:

sudo groupadd sshtungrp
sudo mkdir /etc/ssh/tunnelkeys # or wherever you want to keep them
# Add users without /home
while read p; do sudo useradd $p -r -s /bin/true -g sshtungrp; done < users.txt;
# Copy key file with: sudo vim /etc/ssh/tunnelkeys/%u

sshd_config:

Match Group sshtungrp
        AuthorizedKeysFile /etc/ssh/tunnelkeys/%u
    
por 12.12.2016 / 02:51