Compartilhando chaves SSH para efetuar login?

2

Estou um pouco perdido ou confuso.

  1. Eu tenho algum servidor seguro onde dentro de ~/.ssh/authorized_keys eu tenho uma chave para acessar remotamente os servidores da minha área de trabalho (mac book)

  2. Agora que o servidor seguro precisa de SFTP / SCP para alguns servidores de terceiros

Eles me forneceram SSH ip, nome de usuário, senha, mas eu preciso fazer o login com a chave. Eles me pediram para compartilhar a chave.

Agora confuso que chave eu tenho que compartilhar com eles? id_rsa.pub ou a chave de ~/.ssh/authorized_keys

NOTA: se eu compartilhar minha chave id_rsa.pub com terceiros, eles podem usá-la para hackear meus servidores seguros no ponto 1?

    
por YumYumYum 16.05.2018 / 11:52

4 respostas

16

As chaves SSH têm duas partes, a chave secreta / privada (geralmente em ~/.ssh/id_rsa ) e a chave pública ( ~/.ssh/id_rsa.pub ). A chave secreta pode ser usada para provar quem você é (ou pelo menos que você tenha essa chave secreta), e a chave pública pode ser usada para verificar a chave secreta.

Você nunca passa a chave secreta para qualquer outra parte , pois isso lhes daria a capacidade de se passar por você.

Como para qual chave pública você instala (ou envia para ser instalado) no servidor remoto, fica a seu critério: depende de qual chave privada você deseja usar para logar-se lá.

Se você tiver uma chave privada em seu Macbook e quiser fazer login usando isso, envie a chave pública correspondente a ela. Essa é provavelmente a que está em seu primeiro servidor authorized_keys ou em seus Macs id_rsa.pub . Se você quiser fazer o login a partir do primeiro servidor, envie a chave pública da chave desse servidor, aquela nas máquinas id_rsa.pub .

Se você quiser fazer o login usando as duas chaves, precisará organizar ambas no authorized_keys no servidor de destino.

Se você quiser, você pode criar várias chaves privadas no mesmo sistema e usar diferentes para sistemas remotos diferentes. Isso requer apenas um pouco de contabilidade para saber qual chave você usou onde, e alguma configuração do cliente SSH para que ele saiba tentar usar todas as chaves. (Se você tiver muitas chaves, talvez seja necessário configurá-lo por host.)

Passar a chave pública ( id_rsa.pub ) para terceiros não é um risco. Na verdade, é exatamente o que você precisa fazer para permitir que eles o identifiquem pela sua chave privada.

    
por 16.05.2018 / 12:04
4

O .pub no nome do arquivo id_rsa.pub indica que é uma chave pública que é boa para compartilhar com qualquer pessoa que esteja gerenciando uma máquina remota que você queira acessar via ssh . A chave privada que não deve ser compartilhada é id_rsa .

Ao adicionar seu id_rsa.pub em um ~/.ssh/authorized_keys remoto, o administrador da máquina remota está autorizando qualquer pessoa com acesso à chave privada id_rsa a se conectar. Quando você for solicitado a compartilhar uma chave pública, o administrador da máquina remota esperará um arquivo something.pub .

    
por 16.05.2018 / 12:04
2

Authorized_keys contém todas as chaves públicas que você coloca no servidor ao qual deseja se conectar. O id_rsa.pub é o arquivo que contém uma única chave pública criada quando você gerou um par de chaves.

Se você estiver agindo como um cliente para o serviço, forneceria uma chave pública. Se você usa uma chave pública existente (e, portanto, qual delas, se tiver várias) ou cria um novo par de chaves, não é algo que possamos responder - mas uma consideração importante é de onde você se conectará - você não quer se dispersar chaves privadas importantes em vários servidores diferentes.

    
por 16.05.2018 / 12:05
1

Você pode criar uma nova chave SSH usando o aplicativo putty-gen e fornecer um arquivo pem para um usuário de terceiros para fins de segurança. Depois de trabalhar, você pode remover a chave pública que armazena no servidor

    
por 16.05.2018 / 12:02