Restrições de permissão do SSH da raiz do Linux

1

Estou usando o NetBeans 8.0.1 no Windows e compilando / executando / depurando em um host remoto em um PC Debian na rede local. Eu configurei o host do NetBeans como root. Eu também tenho configurado para depurar usando o gdb. Meu código C inclui as bibliotecas alsa e tenta chamar snd_pcm_open e obter um identificador.

O problema é que quando eu depurar o executável do NetBeans, recebo essa mensagem de erro que basicamente significa um problema de permissão:

ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave.

Resultados do teste:

  1. O terminal da máquina local como root é executado corretamente.
  2. O terminal da máquina local como usuário não raiz é executado corretamente.
  3. O SSH remoto como usuário não raiz é executado corretamente.
  4. O SSH remoto como raiz fornece uma mensagem de erro.

Eu tentei adicionar raiz ao grupo de áudio, o que não ajuda.

Então as perguntas básicas são:

  1. Isso deve ser abordado como um problema de configuração de ambiente ou shell? Se sim, o que devo procurar?
  2. Existe uma prática recomendada para configuração de host remoto? Este deve ser um usuário não root configurado de alguma forma para permitir a compilação e o gdb, etc?
por Erik Friesen 09.09.2015 / 16:37

1 resposta

0

  1. Remote SSH as root gives error message.

O primeiro palpite é que o host remoto não permite login root via ssh. Veja o arquivo /etc/ssh/sshd_config para a diretiva PermitRootLogin e, em seguida, a página sshd_config man para as opções possíveis. Como alternativa, consulte /var/log/auth.log no host remoto, supondo que você tenha permissões para fazer isso lá. Você deve ver uma pista sobre o motivo, supondo que seja simplesmente uma incapacidade de fazer login como root.

Se você puder fazer login como root, esperamos que alguém tenha uma resposta.

I have tried adding root to the audio group, which doesn’t help.

Se você não conseguir fazer login, a associação ao grupo é irrelevante.

Is there a best practice for remote host setup? Should this be a non root user set up some way to allow compiling and gdb, etc?

Primeiro, permitir logins root remotos (via ssh ou qualquer serviço) é uma prática ruim. Segundo, é sempre (IMO) melhor se você puder rodar o máximo possível no espaço do usuário.

    
por 11.09.2015 / 17:06