Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta grátis, consulte Conceitos Básicos do Oracle Cloud Infrastructure - Modo Gratuito.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Gerar chaves SSH
Introdução
O protocolo SSH (Secure Shell) é um método para log-in remoto seguro de um computador para outro. O SSH permite administração segura do sistema e transferências de arquivos em redes inseguras usando criptografia para proteger as conexões entre pontos finais. As chaves SSH são uma parte importante para acessar com segurança instâncias de computação do Oracle Cloud Infrastructure na nuvem.
Se você já tiver um par de chaves SSH, poderá usá-lo para estabelecer conexão com o seu ambiente. Recomendamos que você use o Oracle Cloud Shell para estabelecer interface com a instância de computação OCI que você criará. O Oracle Cloud Shell é baseado em navegador, não requer instalação ou configuração de nada em seu laptop e funciona independentemente da configuração de rede. No entanto, se você preferir se conectar pelo seu laptop, selecione uma opção com base na sua configuração.
Importante: Se a chave SSH não for criada corretamente, você não poderá se conectar ao seu ambiente e obterá erros. Certifique-se de criar sua chave corretamente.
Opção 1: Oracle Cloud Shell
Assista ao vídeo abaixo para ter uma visão geral da opção Gerar SSH Keys Cloud Shell.
A máquina do Cloud Shell é uma máquina virtual pequena executando um shell Bash que você acessa por meio da Console do OCI (Página Inicial). O Cloud Shell vem com uma CLI do OCI pré-autenticada (Interface de Linha de Comando), definida para a região da página inicial da tenancy da Console, bem como ferramentas e utilitários atualizados. Para usar a máquina do Cloud Shell, o administrador da tenancy deve conceder a política do IAM (Identity and Access Management) necessária.
-
Para iniciar o shell do Oracle Cloud, vá para a console do Cloud e clique no ícone do shell da nuvem no canto superior direito da página.
-
Quando o shell da nuvem tiver sido iniciado, informe os comandos a seguir. Escolha o nome da chave que você pode lembrar. Esse será o nome da chave que você usará para se conectar a qualquer instância de computação criada. Pressione Enter duas vezes para nenhuma frase secreta.
mkdir .ssh cd .ssh ssh-keygen -b 2048 -t rsa -f <<sshkeyname>>
Observação: os parênteses de ângulo "" não devem aparecer no código.
-
Examine os dois arquivos que você acabou de criar.
ls
Observe na saída que há dois arquivos, uma chave privada:
<<sshkeyname>>
e uma chave pública:<<sshkeyname>>.pub
. Mantenha a chave privada segura e não compartilhe seu conteúdo com ninguém. A chave pública será necessária para várias atividades e poderá ser carregada para determinados sistemas, bem como copiada e colada para facilitar a comunicação segura na nuvem. -
Para listar o conteúdo da chave pública, use o comando cat
cat <<sshkeyname>>.pub
Observação: os parênteses de ângulo "" não devem aparecer no código.
-
Ao colar a chave na instância de computação em laboratórios futuros, certifique-se de remover qualquer retorno fixo que possa ter sido adicionado durante a cópia. A chave .pub deve ser uma linha.
Opção 2: MacOS
Assista ao vídeo abaixo para ter uma visão geral da opção Gerar Mac de Chaves SSH.
-
Se você ainda não tiver um atalho para o aplicativo de terminal para MacOS, poderá encontrá-lo no menu Aplicativos > Serviços Públicos ou (Shift+Command+U) no teclado.
-
Inicie o Terminal e digite o comando
ssh-keygen
. ssh-keygen pedirá onde salvar a chave, aceite o padrão da pasta .ssh no diretório home pressionando Enter. O nome do arquivo seráid_rsa
ou o que você escolher para nomear sua chave. Pressione Enter duas vezes para nenhuma frase secreta. Lembre-se do diretório em que você salvou sua chave (~/.ssh), será necessário referenciá-la posteriormente ao criar sua instância.ssh-keygen
-
Digite os comandos a seguir na janela de terminal para verificar se as chaves públicas e privadas foram criadas e para copiar o conteúdo da chave pública para uso na criação da sua instância na caixa de diálogo OCI.
cd .ssh ls cat id_rsa.pub
Observe na saída que há dois arquivos, uma chave privada:
id_rsa
e uma chave pública:id_rsa.pub
. Mantenha a chave privada segura e não compartilhe seu conteúdo com ninguém. A chave pública será necessária para várias atividades e poderá ser carregada para determinados sistemas, bem como copiada e colada para facilitar a comunicação segura na nuvem. -
Se você estiver pronto para criar uma instância, copie o conteúdo e cole quando solicitado para a chave SSH. Certifique-se de remover quaisquer retornos rígidos que possam ter sido adicionados durante a cópia.
Clique no MacOS Terminal User Guide
Opção 3: Windows 10
Assista ao vídeo abaixo para ter uma visão geral da opção Gerar Janelas de Chaves SSH.
A criação de chaves para Windows pode ser interessante porque ssh-keygen
não era um utilitário nativo para Windows até a versão do Windows 10. E não foi incluído nas versões iniciais do Windows 10.
-
Abra uma janela do comando Powershell no sistema Windows 10 clicando no ícone/étil ou digitando 'powershell' no campo de pesquisa na Barra inicial.
-
Informe o comando
ssh-keygen
na janela do terminal. Preste atenção específica ao local em que o arquivo será salvo para que seja possível localizá-lo posteriormente.ssh-keygen
assumirá como padrão o diretório .ssh padrão sob o diretório base do usuário.ssh-keygen
-
Pressione Enter em todos os prompts para aceitar o local padrão, os nomes de arquivos padrão e nenhuma frase-senha.
Observação: Nas variantes do Unix, uma pasta com um ponto (.) na frente dela geralmente foi designada para arquivos de configuração e 'oculto' na exibição normal. No entanto, um ponto (.) não significa nada especial na frente das pastas do Windows. Assim, a pasta existirá, mas não ficará oculta.
-
Confirme se as chaves existem e foram criadas corretamente. Informe os comandos a seguir na janela Powershell.
cd .ssh ls cat id_rsa.pub
Agora você tem um par de chaves SSH em funcionamento e pode usá-lo para comunicações seguras com instâncias na nuvem. Não compartilhe a chave privada
id_rsa
com ninguém, a menos que você entenda o que está fazendo. Você só deverá compartilhar e copiar a chave públicaid_rsa.pub
. -
Observe também que se você optar por copiar/colar o conteúdo da chave em determinadas caixas de diálogo para seus laboratórios, será necessário localizar o arquivo no Windows, através do Powershell, do Explorer ou de outras ferramentas de diretório, e abrir o arquivo de chave pública para copiar seu conteúdo. O exemplo abaixo está usando o Powershell para
cat
o conteúdo. É possível selecionar o texto com o mouse, mas os comandos de cópia/pasto não estão disponíveis. Use<ctrl-c>
para copiar o conteúdo para a área de transferência para colar em outras caixas de diálogo do aplicativo.Ou você pode apenas abrir o arquivo com Notepad, Wordpad ou outros editores de texto.
Observação: não use o MS Word ou outros editores de rich text, pois eles podem adicionar caracteres de formatação extras que tornarão a chave inutilizável.
Opção 4: Versões Anteriores do Windows
Usar Git
Nas versões anteriores do Windows, o ssh-keygen não era um utilitário nativo, portanto utilitários terceirizados precisavam ser utilizados. Nesta seção, vamos ilustrar usando Git for Windows. O Git for Windows inclui um shell semelhante ao Unix chamado Git Bash
, que é o que você usará para criar chaves e estabelecer comunicações SSH com seus sistemas host de nuvem. Se preferir PuTTY, vá para a próxima seção.
-
Se você ainda não o tiver instalado, acesse o link abaixo e faça download do aplicativo. Se você não conseguir instalar nada em seu laptop devido a problemas de permissão, use a opção Oracle Cloud Shell acima.
-
Siga as instruções para a instalação.
Observação: A instalação do Git for Windows está além do escopo deste laboratório.
-
Uma vez instalado, você deverá ter uma entrada no menu Iniciar do Windows para Git que inclua o comando Git Bash. Clique no comando Git Bash.
-
Digite
ssh-keygen
na janela do terminal. Pressione a tecla Enter para aceitar a localização padrão (~/.ssh) e o nome de arquivo padrão (id_rsa) e<Enter>
mais duas vezes para nenhuma frase-senha.ssh-keygen
Observação: a parte complicada aqui é que o Git Bash usa um diretório home simulado do Unix. Para exibir, recuperar ou copiar suas chaves, você precisará navegar até a estrutura de diretórios do Windows.
-
Primeiro navegue até o diretório raiz C:.
cd c:
Em seguida, navegue até a pasta .ssh no diretório home normal.
cd Users/<your home folder name>/.ssh/
Observação: Os colchetes de ângulo <> não devem aparecer no código.
ls
Observe na saída que há dois arquivos, uma chave privada:
id_rsa
e uma chave pública:id_rsa.pub
. Mantenha a chave privada segura e não compartilhe seu conteúdo com ninguém. A chave pública será necessária para várias atividades e poderá ser carregada para determinados sistemas, bem como copiada e colada para facilitar a comunicação segura na nuvem. -
Anote onde estão localizados seus arquivos de chave pública e privada SSH. Você pode ser solicitado a fazer upload do arquivo ou copiar/colar o conteúdo em outros laboratórios do Oracle Cloud Services. Copie o conteúdo da chave exatamente, capturando o espaço depois que os caracteres-chave puderem tornar sua chave inválida. No exemplo abaixo, você pode usar o comando gitbash
cat
para exibir o conteúdo do arquivo de chave pública. Você pode selecionar o conteúdo do arquivo de chaves e clicar com o botão direito do mouse para Copiar na tecla. Ou você pode fazer upload do arquivo diretamente.Observação: Se você já tiver instalado o Git for Windows, não se preocupe com PuTTY. É sua escolha qual utilitário usar para a geração de chaves e acesso ao terminal.
Use PuTTY
Nas versões anteriores do Windows, o ssh-keygen não era um utilitário nativo, portanto utilitários terceirizados precisavam ser utilizados. Nesta seção, vamos ilustrar usando PuTTY. Se preferir Sair do Windows, visite a opção antes desta.
-
Se você ainda não o tiver instalado, acesse o link abaixo e faça download do aplicativo. Para funcionários da Oracle, PuTTY também está disponível para download internamente por meio do aplicativo MyDesktop. Para funcionários e clientes que não sejam da Oracle, use o link abaixo. Se você não conseguir instalar nada em seu laptop devido a problemas de permissão, use a opção Oracle Cloud Shell acima.
-
Siga as instruções para a instalação.
Observação: a instalação de PuTTY está além do escopo deste documento de laboratório.
Uma vez instalado, você deverá ter uma entrada no menu Windows Start e talvez um atalho de área de trabalho para PuTTY. PuTTY é, na verdade, um conjunto de utilitários de comunicação seguros. Usaremos dois deles, o utilitário PuTTY para acesso ao terminal e o utilitário PuTTYgen para gerar uma chave SSH segura.
-
Abra o menu inicial do Windows e navegue até a pasta PuTTY. Selecione o utilitário PuTTYgen.
-
Verifique se os padrões estão selecionados e se o tipo de chave deve ser RSA definido como 2048 bits. Clique no botão Gerar.
-
Siga as instruções e mova o mouse pela área cinza vazia para gerar informações aleatórias. PuTTY está usando essas informações para gerar uma chave SSH aleatória e segura.
-
Na tela abaixo, PuTTY tomou as informações do mouse e criou uma tecla. Precisamos fazer várias coisas aqui que sejam um pouco diferentes dos outros métodos de geração de chaves. Embora não possamos realmente usar o arquivo para uma Instância do OCI, ainda assim queremos salvar a chave para referência futura. Clique no botão Salvar chave pública.
Observação: PuTTY não salva chaves em um formato compatível com OpenSSH. Assim, se você fizer upload de um arquivo de chave pública criado com PuTTY para um sistema Linux/Unix usando OpenSSH, a chave não será lida corretamente. No entanto, as informações-chave propriamente ditas, quando copiadas diretamente do aplicativo PuTTYgen, funcionam corretamente quando colocado em campos que usam essas informações para criar uma chave compatível OpenSSH adequada. Por exemplo, ao criar uma instância no OCI, você pode colar a chave SSH de PuTTY e ela funcionará corretamente.
-
Na caixa de diálogo Salvar chave pública como:, nomeie sua chave e adicione a extensão
.pub
ao nome do arquivo. Também será útil se salvar o arquivo na pasta comum.ssh
em sua estrutura de nome de usuário/pasta do Windows. Neste exemplo, os arquivos de chave estarão acessíveis ao diretórioC:\Users\<username>\.ssh
. Armazene as chaves aqui para uma referência futura fácil. -
Em seguida, você precisará salvar a chave privada. Clique no botão Salvar chave privada, responda Sim ao aviso sobre salvar sem uma frase-senha.
-
Nomeie a chave e verifique se ela foi salva com uma extensão
.ppk
para identificar o arquivo como o arquivo de chave privada. Não compartilhe sua chave privada com ninguém. -
Agora você salvou as chaves para referência futura; tudo o que você precisa fazer é copiar as informações de chave da caixa de diálogo PuTTY.
-
Selecione o texto da chave na caixa de diálogo do início ao fim e clique com o botão direito do mouse e escolha Copiar. Em seguida, você pode colar a chave em um Bloco de Notas ou diretamente na caixa de diálogo de criação da instância na console do OCI.
-
Veja abaixo um exemplo da caixa de diálogo Adicionar chave SSH - Colar Chaves SSH no formulário de criação da instância do OCI.
Isso conclui a seção sobre como usar PuTTY para gerar um par de chaves SSH para versões do Windows anteriores ao Windows 10.
Siga as instruções abaixo para estabelecer conexão com uma instância de nuvem por meio do SSH usando o terminal PuTTY.
Estabelecendo Conexão com uma Instância Usando PuTTY
-
Abra o utilitário PuTTY no menu inicial do Windows. Na caixa de diálogo, informe o endereço IP da sua Instância do OCI Compute. Isso pode ser obtido na tela Console OCI > Computação > Instâncias > Detalhes da Instância.
-
Em Categoria, selecione Conexão e escolha o campo Dados. Informe o nome de usuário da instância atribuída. As instâncias do OCI assumirão como padrão o nome de usuário
opc
. Digiteopc
. -
Em Categoria, navegue até Conexão - SSH e escolha a categoria Autenticação. Clique no botão Procurar e localize o
private key file
criado na etapa anterior. Clique no botão Abrir para iniciar a conexão SSH com sua instância de nuvem. -
Clique em Sim para ignorar o Alerta de Segurança sobre a chave não armazenada em cache.
-
Conexão bem-sucedida. Agora você está conectado com segurança a uma instância do OCI Cloud.
Agora você pode se conectar com segurança usando o utilitário terminal PuTTY. Você pode salvar as informações de conexão para uso futuro e configurar PuTTY com suas próprias definições personalizadas.
Observação: Se você já tiver instalado PuTTY, não se preocupe com o Git for Windows. É sua escolha que será usada para geração de chave e acesso ao terminal.
Opção 5: Chaves SSH para Linux
-
Abra uma janela de terminal e digite o comando
ssh-keygen
. Existem algumas opções de linha de comando para o utilitário ssh-keygen; no entanto, para a criação rápida e suja de chaves para uso de laboratório, nenhuma opção é necessária. Digitessh-keygen --help
na janela do terminal para ver todas as opções possíveis. Por enquanto, basta executar o comando sozinho.ssh-keygen
-
Você deve executar este comando no diretório home. Nesse caso, como o id do usuário
opc
. A caixa de diálogo assumirá como padrão um diretório oculto,~/.ssh
. Se você ainda não tiver chaves criadas, aceite o nome de arquivo padrãoid_rsa
pressionando a tecla Enter. Pressione a tecla Enter mais duas vezes para criar uma tecla sem frase secreta. A melhor prática em um ambiente de produção seria usar uma frase-senha segura; no entanto, não precisamos nos preocupar com esses laboratórios de exercícios.A caixa de diálogo indicará que o par de chaves foi salvo no diretório
/home/username/.ssh
e agora está pronto para uso. -
Altere para o diretório
.ssh
, liste e examine suas chaves.cd .ssh ls
Observe na saída que há dois arquivos, uma chave privada:
id_rsa
e uma chave pública:id_rsa.pub
. Mantenha a chave privada segura e não compartilhe seu conteúdo com ninguém. A chave pública será necessária para várias atividades e poderá ser carregada para determinados sistemas, bem como copiada e colada para facilitar a comunicação segura na nuvem. -
Use o comando
cat
do Linux para listar o conteúdo deid_rsa.pub
.cat id_rsa.pub
-
Em alguns laboratórios, será solicitado que você faça upload ou copie (rcp) a chave pública para uma instância para facilitar as comunicações. Então lembre-se de onde o arquivo é mantido. Outros laboratórios solicitarão o 'conteúdo' da chave a ser colada em várias caixas de diálogo para facilitar conexões seguras. Use o comando
cat
e copie/paste as informações da chave começando na palavra "ssh-rsa" e copie tudo até o caractere final na linha. No exemplo abaixo, você iria copiar de "ssh-rsa ... " e para exatamente depois de "... -01". Copie o conteúdo da chave exatamente, capturando o espaço depois que os caracteres-chave puderem tornar sua chave inválida.Você criou um par de chaves SSH públicas/privadas e pode utilizá-lo em qualquer um dos laboratórios do Oracle OCI que requerem uma chave SSH.
No caso de seu interesse, clique aqui para obter mais detalhes sobre o SSH, um breve tutorial sobre como iniciar uma conexão de uma instância do Linux com as chaves SSH que acabamos de criar.
Agradecimentos
- Autor - Dan Kingsley (Especialista em Ativação, OSPA)
- Colaboradores - Kay Malcolm, Tom McGinn, Kamryn Vinson, Anil Nair
Mais Recursos de Aprendizagem
Explore outros laboratórios no docs.oracle.com/learn ou acesse conteúdo de aprendizado mais gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.