O SSHD não é mostrado no PATH, mas o SSH?

0

Atualmente estou trabalhando no protocolo ssh em python e desperdicei muito tempo apenas para iniciar o servidor openssh. Depois disso, consegui iniciá-lo e executar meus scripts python normalmente. Não houve problema de permissão para nenhum dos dois.

Mas o problema é, quando eu faço which ssh ele dá a localização do cliente openssh (usr / bin / ssh). Mas quando eu tento which sshd não retorna nada, mas o servidor está funcionando bem até agora. Por que isso está acontecendo e como posso corrigir isso?

    
por aditya rawat 06.07.2018 / 07:13

1 resposta

2

ssh geralmente é executado por qualquer pessoa, sshd não deve ser invocado por usuários comuns; portanto, o primeiro é (por exemplo) em /usr/bin e o segundo em /usr/sbin .

Bem, esses caminhos podem variar. O ponto é que o diretório de ssh executável está no usuário regular PATH , mas o diretório de sshd executável geralmente não é (deve estar em root PATH ).

Você pode alterar o PATH do seu (usuário comum) por você mesmo, mas adicionar /usr/sbin a ele não será muito bom, porque você não poderá executar arquivos nele ou será formalmente capaz de executá-los, mas você terá problemas de permissão mais tarde.

Nada particularmente errado com isso, você não deve ser capaz de quebrar o sistema dessa maneira. No entanto, isso sujará a copletion de sua linha de comando (expansão de tabulação) com executáveis que você nunca precisará executar como um usuário comum.

Esses executáveis precisam de root por motivos. Por sshd as razões são:

  • é projetado para ser um serviço de todo o sistema, um daemon; para iniciar quando o sistema for iniciado, quando nenhum usuário estiver logado; para permitir que outros usuários entrem no sistema;
  • geralmente abre uma porta "baixa", raramente é permitido a usuários comuns fazer isso.

which sshd não retorna nada para você, sudo which sshd deve retornar alguma coisa. Isso parece normal. Não há nada para consertar.

    
por 06.07.2018 / 08:51

Tags