Algumas questões relacionadas à autenticação de chave SSH

1

Como diz o título, tenho algumas dúvidas sobre o método de autenticação de chave SSH em uma máquina Linux.

Primeiro, eu gerava minhas chaves no meu PC e adicionava a chave pública no arquivo authorized_keys, e tudo está funcionando bem, mas ainda não sei muito bem como isso funciona.

  • Eu só consigo acessar o usuário root com minha chave através do SSH, e gostaria de fazer login para diferentes usuários. Esses usuários estão perdendo algumas permissões ou minha chave está conectada ao usuário root?
  • Se mais de uma pessoa tiver acesso à máquina usando chaves diferentes, ela terá acesso a todos os usuários, por exemplo, o usuário root?
  • Como eu disse antes, estou trabalhando com usuários diferentes, existe alguma maneira que eu possa adicionar chaves a apenas um determinado usuário? Por exemplo, eu crio o usuário 'john', diga ao meu amigo John para crie as chaves em seu computador e, em seguida, adicione a chave às chaves autorizadas, mas ele só poderá efetuar login no usuário 'john' ao usar sua chave.

Eu pesquisei por horas tentando encontrar algumas informações sobre isso, mas não encontrei resposta, desculpe se isso já foi respondido antes.

Obrigado antecipadamente.

    
por user2077474 27.02.2014 / 19:57

2 respostas

2

A autenticação de chave pública é tipicamente por usuário. Cada usuário deve ter um arquivo /home/*/.ssh/authorized_keys diferente, que concede acesso apenas a esse usuário.

Os usuários que não possuem esse arquivo só podem fazer login usando sua senha.

Disse que, uma vez logado como root, você pode executar "su anotheruser" para agir em nome daquele usuário. Apenas o root pode fazer isso, é claro.

Como alternativa, você pode configurar a confiança de chave em todo o sistema se tiver dois servidores com os mesmos usuários. Isso é feito com o arquivo /etc/hosts.equiv

E outro truque é ter todos os usuários em um servidor com a mesma versão do arquivo "authorized_keys", para que você possa fazer login como qualquer usuário com a mesma chave privada.

    
por 27.02.2014 / 20:05
1

O arquivo authorized_keys é por usuário. Quando você adiciona uma chave pública ao arquivo authorized_keys do usuário raiz, a conta remota com a chave privada correspondente pode efetuar login na conta raiz. Seus marcadores em ordem:

  • Você deve adicionar sua chave pública ao arquivo 'authorized_keys' de cada usuário com o qual deseja efetuar login usando chaves.
  • A chave pública de cada pessoa remota adicional só terá permissões para fazer login na (s) conta (s) à qual você adicionar a chave pública. Portanto, se você adicionar a chave de João apenas ao arquivo 'authorized_keys' do usuário 'sam', John poderá efetuar login na conta 'sam' e não em outros.
  • Sim - como eu disse, adicione a (s) chave (s) da pessoa remota apenas à conta na qual você deseja que faça login.
por 27.02.2014 / 20:03

Tags