permissão ssh-copy-id negada

3

Estou tentando configurar um repositório git para um projeto e, portanto, quero usar chaves ssh para não inserir novamente minha senha todas as vezes. Eu tropecei na possibilidade de deixar o ssh fazer o trabalho de cópia com ssh-copy-id , mas isso não parece funcionar para mim.

Tenha em mente que sou novo no sistema de direitos do linux e, portanto, não tenho idéia do que exatamente causa o meu problema. A pesquisa nas interwebs também não rendeu nada para mim.

$ ssh-copy-id -i git@server
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: 
"/c/Users/Me/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to 
filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are 
prompted now it is to install the new keys
git@server's password:
sh: 1: cannot create .ssh/authorized_keys: Permission denied

Editar: resolvi o problema da seguinte maneira: - logado no root via su - alterou a propriedade do arquivo authorized_keys via chown git /home/git/.ssh/authorized keys para git - então logado git de volta - finalmente mudou a permissão rw para 600 via chmod 600 ~/.ssh/authorized keys e copiou a chave com sucesso

    
por Tom Connery 25.06.2017 / 04:30

2 respostas

2

Se uma conta é dedicada ao uso do git, faz sentido para o administrador torná-lo uma conta restrita, apenas para executar comandos git. Em particular, o acesso ao git não deve ser suficiente para alterar as credenciais e restrições na conta. Isso é feito com um ~/.ssh/authorized_keys que não pode ser gravado pelo usuário. Geralmente, há um mecanismo fora de banda para configurar credenciais, por exemplo, uma interface da Web.

Se você for o administrador, precisará procurar informações sobre como as contas do git estão configuradas. Verifique a configuração do servidor SSH ( /etc/sshd_config ou /etc/ssh/sshd_config para ver onde os arquivos authorized_keys estão localizados ( AuthorizedKeysFile configuração). Depois de localizar o arquivo, adicione a chave pública a ele: um authorized_keys files é apenas uma lista de linhas, cada uma contendo normalmente uma chave pública copiada diretamente de um arquivo .pub . Verifique a configuração para ver se restrições no uso da chave devem ser adicionadas no final do arquivo (por exemplo, command="git-shell" nopty no-agent-forwarding no-port-forwarding no-X11-forwarding ) .

    
por 26.06.2017 / 01:02
0

Vamos considerar que temos duas máquinas, 'A' e 'B' Agora você quer se conectar de A a 'B'

Então, na máquina B, faça o seguinte

vi /etc/ssh_sshd_config

Agora, pesquise por essa linha e mude para o seguinte, conforme mostrado abaixo.

PasswordAuthentication yes

PermitRootLogin yes

Agora reinicie o serviço sshd na máquina 'B'

service sshd restart

Agora copie a chave da máquina 'A' para a máquina 'B' e espero que funcione bem

ssh-copy-id [email protected]

    
por 16.11.2018 / 15:07

Tags