OpenSSH no Ubuntu 10.10 (Maverick): o arquivo ~ / .ssh / authorized_keys deve ser gerado automaticamente?

5

Estou configurando a autenticação de chave pública usando este guia: link .

A documentação fala sobre o arquivo ~/.ssh/authorized_keys , mas não há nenhum arquivo ~/.ssh/authorized_keys no meu diretório pessoal.

Esse arquivo deve ser gerado automaticamente?

A página do manual do Maverick sshd não especifica se o arquivo é criado quando o OpenSSH está instalado ou se o arquivo deve ser criado manualmente.

Acabei de pensar se a ausência desse arquivo é normal antes mesmo de criá-lo.

    
por unpossible 03.04.2011 / 11:12

4 respostas

9

~/.ssh/authorized_keys é um arquivo por usuário. Instalar um programa unix nunca grava nos diretórios home dos usuários. Portanto, por padrão, o arquivo não existirá (o que tem o mesmo efeito que um arquivo vazio).

Se você estiver gerando a chave em um cliente que também esteja executando o OpenSSH, use ssh-copy-id [ como descrito ] para transferir a chave pública para o servidor, usando para aquela vez sua senha para efetuar login no servidor.

Se você estiver gerando a chave por algum outro método, copie o arquivo id_rsa.pub de onde você gerou a chave para ~/.ssh/authorized_keys no servidor (crie o diretório ~/.ssh , se necessário). Certifique-se de que todos os três diretórios pessoais, ~/.ssh e ~/.ssh/authorized_keys sejam graváveis apenas para o usuário (nenhum grupo ou outras permissões de gravação). Se você quiser autorizar mais de uma chave, basta concatená-las em ~/.ssh/authorized_keys (portanto, ~/.ssh/authorized_keys tem uma chave pública por linha).

Se você usar algo diferente de OpenSSH para gerar a chave, talvez seja necessário converter a chave pública para o formato OpenSSH. Por exemplo, no PuTTY, use 'Chave pública para colar no arquivo authorized_keys' .

    
por 03.04.2011 / 13:11
3

A partir dessa página:

The private key is kept on the computer you log in from, while the public key is stored on the .ssh/authorized_keys file on all the computers you want to log in to.

Ao criar um arquivo-chave usando ssh-keygen , você obterá arquivos denominados id_rsa e id_rsa.pub . A primeira é a sua chave privada (possivelmente protegida por senha) e deve ser mantida em segredo o tempo todo. Você é o cliente .

A última é sua chave pública que pode ser dada ao outro lado, o servidor . O servidor pode permitir várias chaves públicas. Os arquivos de chave são arquivos de texto simples, então você pode abri-los com qualquer editor de texto. O arquivo de chaves público tem apenas uma linha, essa linha deve ser adicionada ao arquivo ~/.ssh/authorized_keys no servidor .

As chaves privada e pública abaixo são geradas usando ssh-keygen -t rsa . O comando anterior criou os arquivos ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub .

Um arquivo de chave privada ~/.ssh/id_rsa se parece com:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,6D5AD2DF5464E16B4E92E81D095A5E7E

NbCawtGTPOfveFHvV93uw5/veo/fAmbZEcitpNlq/rPEy8ZLo7/0MltFDUupe6dI
...23 lines omitted...
eiau+K6IAbhp84/6ewXPVJ6JbfeS9vyOqkcPaZDlQ3rvbAxU9dfTptc/ZWxVoCDg
-----END RSA PRIVATE KEY-----

A chave pública correspondente ~/.ssh/id_rsa.pub se parece com:

ssh-rsa AAAAB3NzaC1yc2EA[some chars omitted]X3aKKB6lOyr0v user@host

A primeira palavra é ssh-rsa (para chaves RSA) ou ssh-dss (para chaves DSA). A segunda parte ( AAAAB3...r0v ) é os dados reais. user@host é apenas um comentário e pode ser substituído por qualquer coisa, como sysadmin from home .

    
por 03.04.2011 / 12:29
1

Basta criá-lo usando seu editor favorito ou touch , mas verifique se ele tem as permissões corretas.

chmod 400 ~/.ssh/authorized_keys
    
por 03.04.2011 / 11:28
0

Sim, é normal. Basta criar um quando quiser adicionar chaves ssh.

    
por 03.04.2011 / 11:14