configurando a chave pública ssh

4

Ok, estou tentando configurar um login para fazer login com o ssh, usando uma chave pública.

Primeiro, estou usando o puttygen para gerar uma chave pública rsa-ssh2 usando uma frase secreta. Eu segui as instruções e criei a chave. Salvei a chave privada em seu próprio arquivo para putty e puttygen também gerou a chave pública.

Em putty eu configuro para usar o arquivo de chave privada e uso rsa-ssh2 etc ...

Então eu c / p meu material de chave pública houtput ssh2 da puttygen e no servidor, eu coloquei isso em

username/.ssh/authorized_keys

Então, tentei fazer login através do putty e primeiro ele solicitou meu nome de usuário em vez de perguntar a frase secreta, e quando inseri (tentei o nome de usuário e a frase secreta) ele disse que minha chave pública era inválida.

Eu pensei que talvez eu de alguma forma c / p'd ou formatado a informação em authorized_keys errado, então eu voltei e verifiquei novamente. Eu me certifiquei de que estava tudo em uma linha, devidamente espaçada, etc ...

Também verifiquei o seguinte arquivo /etc/ssh/ssh_config e tenho o seguinte:

IdentityFile ~/.ssh/id_rsa

Eu tentei renomear meu arquivo authorized_keys para id_rsa e sem alegria.

Eu tentei mudar essa linha em ssh_config para

IdentityFile ~/.ssh/authorized_keys

... e sem alegria.

Voltei a pensar que talvez minha chave pública estivesse malformada ou que a massa não estivesse configurada corretamente, por isso pedi a um amigo que fizesse uma conta temporária para mim em seu servidor e adicionasse minha chave pública e conseguisse fazer login por meio de massa muito bem ... quando eu me conectei ao seu servidor, ele me pediu a senha para a minha chave e me conectou muito bem.

Então ele sugeriu que eu olhasse para essas coisas acima, mas sem alegria e ele não sabe mais o que checar ... Acho que estou apelando para os especialistas aqui: P

pensamentos?

    
por Gilles 06.04.2011 / 02:33

2 respostas

2

Verifique as permissões. O OpenSSH não permitirá a autenticação de chave pública se o diretório base de um usuário, ~ / .ssh ou ~ / .ssh / authorized_keys for gravável mundialmente. Além disso, ~ / .ssh e ~ / .ssh / authorized_keys provavelmente não devem ser graváveis em grupo também. Deixe IdentityFile no padrão, não tem nada a ver com o aspecto do servidor. Aponta para o arquivo de chave privada padrão usado pelo cliente ssh no UNIX / Linux. O ssh_config é usado apenas pelo cliente ssh, e não pelo servidor sshd do OpenSSH. O conteúdo de authorized_keys deve ser uma linha por chave pública que está autorizada a efetuar login e se parecer com isso:

ssh-rsa AAA.../Us= My Public Key comment

Onde ... é um monte de caracteres base64 ( [a-zA-Z/+=] ). PuTTYGen pode gerar duas formas de chaves: compatível com PuTTY e OpenSSH. O OpenSSH compatível será uma longa linha no formato acima. Se estiver no formato PuTTY, você poderá importá-lo de volta para o PuTTYGen e salvá-lo como OpenSSH.

    
por 06.04.2011 / 03:37
2

Acabei usando o ssh-keygen para gerar uma chave pública / privada no meu servidor e, em seguida, importando a chave privada para o puttygen e salvando como o arquivo .ppk para o putty, e isso funcionou.

Eu ainda não sei o que deu errado, mas acho que tem algo a ver com a chave pública e / ou privada gerada pelo puttygen afterall ...: /

editar:

Aaaah eu percebi isso! Foi porque o meu servidor queria uma chave de 2048 bits e eu estava gerando uma chave de 1024 bits com puttygen

    
por 06.04.2011 / 04:10