SSH sem senha (pasta pessoal compartilhada)

1

Eu tenho uma pergunta sobre o ssh sem senha com uma pasta base.

Eu criei uma conta comum / home / de desenvolvedores e vários usuários (developerA, developerB ...). Todos os desenvolvedores receberam a mesma pasta pessoal (/ home / developers).

Como desenvolvedorA em sua máquina, fiz o seguinte:

  1. ssh-keygen -t rsa -f developerA-c [email protected]
  2. (no servidor). adicionou o .pub ao arquivo /home/developers/.ssh/authorized_keys do servidor
  3. ssh developerA @ myServer -i developerA

Estou a pensar que o problema está ligado às permissões, porque o ficheiro authorized_keys pertence aos programadores (-rw ------- 1 programadores desenvolvedores 2033 11 de novembro 22:55 authorized_keys )

Alguém tem uma solução para esse problema, ou como usar o ssh sem senha de múltiplos usuários sem criar uma pasta pessoal para cada um deles?

Obrigado antecipadamente caras

    
por Vladaimir Cetkovic 11.11.2012 / 23:22

6 respostas

2

Você tem apenas um usuário. Portanto, não é um problema de múltiplos usuários. Certifique-se de que o diretório .ssh tenha o modo 700.

No entanto, você está fazendo errado de qualquer maneira. Você deve criar usuários diferentes para cada desenvolvedor e colocá-los em um grupo comum. Se eles precisarem trabalhar nos mesmos arquivos, você os tornará graváveis pelo grupo comum e os colocará em um diretório que tenha o sinalizador "set group ID" definido, portanto, o que quer que eles escrevam para ele pertencerá ao grupo.

    
por 11.11.2012 / 23:32
2

Desde que ele perguntou, ele deve ter suas razões. Aqui estão algumas ideias:

  1. Certifique-se de que sua sequência de chaves públicas não esteja agrupada. Deve estar em uma linha contínua em authorized_keys.
  2. As permissões devem ser rw-r-r (644) para authorized_keys.
  3. Verifique as permissões para ~ / .ssh. Deve ser rwx-- (700).
  4. Certifique-se também de que / etc / ssh / sshd_config contenha "PubkeyAuthentication yes".
por 11.11.2012 / 23:32
1

Na minha experiência, o ssh é muito específico sobre permissões de arquivos e diretórios. O arquivo authorized_keys deve ser 'rw-r - r--' e o diretório .ssh que o contém também deve ser acessível por todos (mas não gravável pelo mundo) Isso significa que o comando .ssh e o caminho completo do diretório levam a isso.

Quando você não acerta, os logins de troca de chaves falham.

Mike

    
por 11.11.2012 / 23:27
1

Login SSH sem senha:

  • gere um par de chaves privada / pública sem uma frase secreta e coloque a chave pública em seu arquivo authorized_keys:

    ssh-keygen -t dsa -N ""
    cd .ssh/
    cat id_dsa.pub >> authorized_keys
    

Proteção de Authorized_keys:

  • O arquivo

    authorized_keys só deve ser legível pelo usuário e o diretório pessoal do usuário só pode ser gravado pelo usuário:

    chmod go-rwx authorized_keys
    chmod go-w ~/
    
por 12.02.2013 / 23:05
0

@joebob acertou! Apenas mais alguns detalhes (observe sua última linha)

De esta postagem você pode ver que o SSH se recusará a usar .ssh pasta em um diretório inicial compartilhado. No meu caso, olhando para /var/log/messages , vejo:

Mar 10 09:57:13 sshd[32249]: Authentication refused: bad ownership or modes for directory /home/

O site referenciado tem duas soluções para isso:

  1. Corrigir permissões

    chmod g-w /home/your_user
    chmod 700 /home/your_user/.ssh
    chmod 600 /home/your_user/.ssh/authorized_keys
    
  2. Defina StrictModes off no seu /etc/ssh/ssh_config (não recomendado)

Infelizmente eu estou em uma caixa de produção atm e não posso testar nenhuma das soluções ... Eu também estou procurando uma terceira opção, se possível, já que devido à configuração da nossa equipe eu não posso mudar a casa permissões de diretório ... (modelo ruim - eu sei)

    
por 10.03.2017 / 11:10
-2

Ter muitos usuários com um diretório inicial é uma idéia muito ruim. Os usuários vão te odiar e os programas vão te odiar. Não faça isso.

    
por 11.11.2012 / 23:25