Como as chaves públicas e privadas são usadas no ssh?

0

Suponha que eu configurei a autenticação de chave pública / privada em ssh.

  1. É correto que o servidor ssh possua a chave pública, mas não a chave privada, enquanto o cliente ssh possui tanto o público quanto chaves privadas?

  2. Como as chaves públicas e privadas são usadas nas comunicações via protocolo ssh?

    • Quando eu no lado do cliente ssh iniciar uma comunicação executando um comando para se conectar ao servidor ssh via protocolo ssh, é isso mensagem inicial de mim para o servidor criptografado com a chave pública ou chave privada?

      Quando o servidor ssh recebe esta mensagem inicial, ele usa o chave pública para descriptografar a mensagem inicial, o que soa muito estranho porque todo mundo pode ter a chave pública e, portanto, pode descriptografar o mensagem inicial?

    • Se o comando que enviei para conectar ao servidor for scp arquivo do servidor para o meu host local, quando o servidor ssh envia o arquivo solicitado para mim, é a chave pública usada para criptografar o Arquivo?

      Quando o cliente ssh recebe o arquivo criptografado, a chave privada é usada descriptografar o arquivo?

    • As chaves públicas e privadas são usadas apenas durante a autenticação, não após o término da autenticação?

      Se isso é correto, é algum tipo de criptografia nas mensagens a serem enviadas e descriptografia nas mensagens recebidas usadas para a comunicação entre o servidor ssh e o cliente, após a autenticação?

Obrigado.

    
por Tim 15.06.2016 / 15:01

1 resposta

3

  1. Is it correct that the ssh server possesses the public key but not the private key, while the ssh client possesses both the public and private keys?

Sim, se você falar sobre chaves de autenticação . Existem também chaves de host , onde a posse é oposta - o servidor tem ambas e o cliente tem apenas a chave pública.

  • When I on ssh client side initiate a communication by running a command to connect to the ssh server via ssh protocal, is this initial message from me to the server encrypted with the public key or private key?

Não. A mensagem inicial não está criptografada. A comunicação posterior, após a troca de chaves, é criptografada com chaves derivadas do segredo compartilhado (chave de sessão), que é um resultado da troca de chaves DH (de algum tipo).

When the ssh server receives this initial message, does it use the public key to decrypt the initial message, which sounds very odd because everyone can have the public key and thus can decrypt the initial message?

A descriptografia é feita usando a chave privada (a verificação da assinatura é feita usando uma pública).

  • If the command that I sent to connect to the server is to scp some file from the server to my local host, when the ssh server sends out the requested file to me, is the public key used to encrypt the file?

Não, como no anterior. O arquivo (sessão inteira) é criptografado pela "chave de sessão"

When ssh client receives the encrypted file, is the private key used to decrypt the file?

Não e não.

  • Are public and private keys used only during authentication, not after authentication finishes?

Sim

If that's correct, is some type of encryption on messages to be sent and decryption on messages received used for the communication between ssh server and client, after authentication?

Não tenho certeza do que significa essa pergunta. A sessão é criptografada com criptografia simétrica (geralmente AES) com chave secreta obtida da troca de chaves acima.

    
por 15.06.2016 / 15:18