transferências de arquivos SSH usando ssh-keygen

2

Eu sou um usuário casual do Linux, mas estou tendo alguma dificuldade em entender algumas instruções enviadas para mim de uma empresa para a qual fornecemos dados. Eles querem que usemos o ssh (que eu usei antes) para transferir dados com o scp. O problema é que eu nunca usei o ssh-keygen nem compreendo completamente como ele funciona. Alguém poderia me ajudar. Vou incluir as instruções para que você possa ver exatamente o que elas me enviaram.

* No diretório "inicial" da conta que enviará os dados, é melhor criar um diretório ".ssh" (se não existir). Este é o local padrão usado para gerenciar todos os keypairs ssh. Você pode ter vários keypairs diferentes, e assim as convenções de nomenclatura são úteis (como padrão, ssh-keygen usa 'id-rsa' para o nome do arquivo das chaves (id-rsa para a chave privada e id-rsa.pub para o público) chave) O comando que eu geralmente recomendo para criar o par de chaves seria; ssh-keygen -t rsa -N "" -f nome -C "conta @ nome_do_servidor - descrição breve"

Onde; o sinalizador '-t' é para o tipo de chave a ser criada (rsa), o sinalizador '-N' é para senha opcional (“” é uma string nula - essencialmente nenhum conjunto de senhas (que é o que você deseja para um processo automatizado) , mas não o que você quer quando / se estiver configurando para uso pessoal)), o sinalizador '-f' é para nome do arquivo (isso é o que seria usado para substituir o nome 'id_rsa' padrão - isso pode ser especificado ao invocar o nome comando 'scp'), o sinalizador '-C' é para um campo de comentário (isso é útil se você tiver várias chaves, você pode inserir uma breve descrição sobre o que a chave é usada - eu normalmente recomendo que o servidor e conta que gerada a chave é incluída com uma breve descrição sobre seu uso primário; 'unduser1 @ hostname - transfere dados para a empresa X). *

Obrigado pela ajuda!

    
por Rick Williams 03.06.2013 / 15:16

1 resposta

4

Essencialmente, o que você precisa fazer é criar um par de chaves pública / privada, usando keygen. Isso fornecerá um par de arquivos, por exemplo, id_dsa e id_dsa.pub .

Com o SSH, você pode colocar a parte do bar em uma conta remota e, ao efetuar login, o ssh pode verificar isso na parte não pública e deixar entrar todos que a possuem. Muito vagamente de pensar em id_dsa.pub como o bloqueio e id_dsa como chave.

Portanto, em qualquer máquina Linux ou MacOS do Linux, execute o keygen que lhe dará esses dois arquivos:

ssh-keygen -t dsa -N "" -C "my dsa key"

Em seguida, envie o arquivo id_dsa.pub para os administradores que estão mantendo a máquina remota (e eles precisam colocá-la na pasta ~ / .ssh na máquina remota). Se você tiver uma senha para a máquina remota, você pode usar ssh-copy-id user@hostname ( man page ) você mesmo enviar seu par de chaves para lá.

Mantenha o arquivo privado ( id_dsa ) para você. Em seguida, ele precisa ir para a máquina de onde você inicia a conexão. Isso depende muito de qual sistema operacional e software cliente SSH você usa.

Se isso também é um Linux, coloque-o na pasta ~ / .ssh (crie um, se necessário).

  mkdir ~/.ssh
  chmod 700 ~/.ssh
  mv id_dsa ~/.ssh
  chmod 700 ~/.ssh/id_dsa

A partir de então você deve ser capaz de ssh para remover a máquina como

 ssh [email protected] 

ou

 ssh -i ~/.ssh/id_dsa [email protected] 

No Windows, isso dependeria do software de terminal usado para o SSH, por exemplo, com o ZOC SSH / Telnet Terminal você pode fornecer o nome do arquivo para o arquivo privado com as informações de login (veja este < Uma captura de tela , o arquivo iria para o campo "ssh key file" (arquivo de chave ssh). Isso varia de acordo com o software.

    
por 03.06.2013 / 15:32