Como configurar a autenticação SSH com o Windows / git / tortoisegit / putty / Synology

7

Estou desesperadamente confuso. Estou tentando impedir que o tortoisegit me solicite uma senha toda vez que eu pego / pressiono (não me importo uma vez para cada vez que faço logon no Windows, mas depois disso quero que seja automático).

Meu servidor git está sendo executado no meu Synology NAS através do pacote oficial do Git Server. Clonar via ssh: // usuário @ servidor / foo / bar .

Veja o que eu fiz / tentei:

  • criei um par de chaves pública e privada via Puttygen.
  • iniciei o Putty Authentication Agent (pageant) e adicionei minha chave privada a ele.
  • criou um arquivo authorized_keys no servidor em /root/.ssh / . Eu tentei apenas com a parte codificada em Base64 do arquivo de chave pública e também com o cabeçalho ---- BEGIN SSH2 PUBLIC KEY ---- e o rodapé correspondente.
  • configure o tortoisegit para usar TortoiseGitPLink.exe como o cliente SSH (o padrão, eu acredito). Eu também tentei pageant.exe , mas isso resulta em um erro: "Não foi possível carregar essa chave (não é possível abrir o arquivo)"

Ainda sou solicitado a fornecer uma senha, e o Putty Agent não parece estar envolvido no processo de forma alguma (sem chaves, mesmo após a autenticação). Qualquer conselho seria muito apreciado.

    
por me-- 10.12.2013 / 07:48

3 respostas

4

Certifique-se de ter seguido as instruções mais detalhadas nas teclas ssh

O Windows Git e o TortoiseGit requerem 2 variáveis de ambiente definidas no Windows.

GIT_SSH = C: \ Arquivos de programas \ TortoiseGIT \ bin \ TortoiseGitPlink.exe

SVN_SSH = C: \ Arquivos de programas \ TortoiseGIT \ bin \ TortoiseGitPlink.exe

(substitua por seus caminhos, se diferente)

Você também precisa ter certeza de que o PLINK_PROTOCOL não está sendo sobrescrito. De outra forma, PLINK_PROTOCOL = ssh

Depois de fazer essas alterações, verifique o acesso com o seguinte:

Abra uma janela de comando de tarefas emita o comando plink git @ seu nome do servidor git depot

Se uma lista de repositórios Git for retornada, você está se comunicando com o Git.

Se um erro for retornado, talvez seja necessário editar seus arquivos de janelas .ssh / config e / ou etc / hosts

    
por 20.12.2013 / 00:34
2

Você não deseja usar a chave pública salva usando o botão "Salvar chave pública". Na interface do usuário do PuTTY Key Generator, você deve copiar o texto na caixa superior para o arquivo authorized_keys :

Ele deve ser copiado exatamente e deve acabar sendo uma única linha no seu arquivo authorized_keys .

Além disso, você está usando ssh://root@server/foo/bar para clonar seu repositório? Se não, você precisa ter certeza de que está adicionando sua chave pública ao arquivo authorized_keys para o usuário correto.

    
por 16.12.2013 / 18:30
0

Adicionando a chave ssh no formato OpenSSH gerada do Putty para sua conta linux e testando para ver se você pode entrar no Github ou outro servidor linux

  1. Copie a pasta id_rsa e id_rsa.pub to ~/.ssh . Altere as permissões do arquivo id_rsa para 400/600 usando chmod 600 ~/.ssh/id_rsa link

  2. Verifique se ssh-agent está sendo executado usando eval $(ssh-agent -s) and start/restart ssh-agent '( link )

  3. Adicione ssh chave privada a ssh-agent : ssh-add ~/id_rsa ( link )

  4. Verifique se a chave pública está anexada à sua conta ( link ): ssh-add -l -E md5 . A saída deve ser algo como 2048 MD5:de:5d… /home/username/.ssh/id_rsa (RSA)

  5. Verifique se você pode usar ssh para efetuar login em github ou outro servidor ( link ): ssh -T [email protected] . A saída deve ler Hi username! You've successfully authenticated, but GitHub does not provide shell access.

  6. Se mostrar um erro como key_load_public: invalid format , significa que você está usando o formato de chave pública Puttygen . Para alterar para OpenSSH versão da chave pública, siga as etapas: ( link )

por 15.01.2018 / 18:17