SSH sem senha (pasta inicial compartilhada)

SSH sem senha (pasta inicial compartilhada)

Tenho uma pergunta sobre o ssh sem senha com uma pasta pessoal.

Eu criei uma conta comum/home/developers e vários usuários (desenvolvedorA,desenvolvedorB ...). 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 desenvolvedorA -C[e-mail protegido]
  2. (no servidor). adicionou o .pub ao arquivo do servidor /home/developers/.ssh/authorized_keys
  3. ssh desenvolvedorA@meuServidor -i desenvolvedorA

Estou pensando que o problema está relacionado às permissões, porque o arquivo autorizado_keys é propriedade dos desenvolvedores (-rw------- 1 desenvolvedores desenvolvedores 2033 11 de novembro 22:55 autorizado_keys )

Alguém tem uma solução para esse problema ou como fazer o ssh sem senha para vários usuários sem criar uma pasta pessoal para cada um deles.

Desde já obrigado pessoal

Responder1

Você só tem um usuário. Portanto, não é um problema de vários 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 torna graváveis ​​por seu grupo comum e os coloca em um diretório que possui o sinalizador "definir ID do grupo" definido, para que tudo o que eles escreverem nele pertencerá ao grupo.

Responder2

Já que ele perguntou, ele deve ter seus motivos. Aqui estão algumas ideias:

  1. Certifique-se de que sua string de chave pública não esteja quebrada. Deve estar em uma linha contínua emauthorized_keys.
  2. As permissões devem ser rw-rr (644) para chaves_autorizadas.
  3. Verifique as permissões para ~/.ssh. Deveria ser rwx-- (700).
  4. Certifique-se também de que /etc/ssh/sshd_config contenha "PubkeyAuthentication yes".

Responder3

Na minha experiência, o ssh é muito específico em relação às permissões de arquivos e diretórios. O arquivo autorizado_keys deve ser 'rw-r--r--' e o diretório .ssh que o contém também deve ser acessível a todos (mas não gravável por todo o mundo). Isso significa o dicionário .ssh e o caminho completo do diretório que leva a isto.

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

Mike

Responder4

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

Deesta postagemvocê pode ver que o SSH se recusará a usar .ssha pasta em um diretório inicial compartilhado. No meu caso, olhando /var/log/messagesvejo:

10 de março 09:57:13 sshd[32249]: Autenticação recusada: propriedade ou modos incorretos para o diretório/home/

O site referenciado possui 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 offem seu /etc/ssh/ssh_config(não recomendado)

Infelizmente estou em um caixa eletrônico de produção e não consigo testar nenhuma das soluções...Também estou procurando uma terceira opçãose possível, devido à configuração da nossa equipe, não posso alterar as permissões do diretório inicial... (modelo ruim - eu sei)

informação relacionada