Conexão com Nós Gerenciados Usando SSH

Descubra como usar SSH para estabelecer conexão com nós de trabalho em pools de nós em clusters que você criou usando o Kubernetes Engine (OKE).

Se você forneceu uma chave SSH pública ao criar um pool de nós gerenciados em um cluster, a chave pública será instalada em todos os nós de trabalho no pool de nós. Em plataformas UNIX e semelhantes ao UNIX (incluindo Solaris e Linux), você pode se conectar por meio do SSH aos nós de trabalho usando o utilitário SSH (um cliente SSH) para executar tarefas administrativas. Observe que você não pode estabelecer conexão com nós virtuais usando SSH.

Observe que as seguintes instruções presumem que a máquina UNIX usada para se conectar ao nó de trabalho:

  • Tem o utilitário ssh instalado.
  • Tem acesso ao arquivo de chave privada SSH pareado com a chave pública SSH que foi especificada quando o cluster foi criado.

A forma de conexão com nós de trabalho usando SSH depende da especificação de sub-redes públicas ou privadas para os nós de trabalho ao definir os pools de nós no cluster.

Conexão com Nós Gerenciados em Sub-redes Públicas Usando SSH

Antes de estabelecer conexão com um nó gerenciado em uma sub-rede pública usando SSH, você deve definir uma regra de entrada no grupo de segurança de rede aplicável (recomendado) ou na lista de segurança de sub-rede para permitir o acesso SSH. A regra de entrada deve permitir acesso à porta 22 nos nós de trabalho da origem 0.0.0.0/0 e de qualquer porta de origem, como a seguir:

Tipo CIDR de Origem Protocolo IP Intervalo de Portas de Origem Dest. Intervalo de Portas Tipo e Código Permite: e Descrição:
Com monitoramento de estado 0.0.0.0/0 TCP Tudo 22 n/d

Permite: Tráfego TCP nas portas: 22 Protocolo de Log-in Remoto SSH

Descrição: Ativa o acesso SSH.

Para estabelecer conexão com um nó gerenciado em uma sub-rede pública por meio do SSH de uma máquina UNIX usando o utilitário SSH:

  1. Descubra o endereço IP do nó de trabalho ao qual você deseja se conectar. Você pode fazer isso de várias maneiras:

    • Usando o kubectl. Se você ainda não tiver feito isso, siga as etapas para configurar o arquivo de configuração kubeconfig do cluster e (se necessário) defina a variável de ambiente KUBECONFIG para apontar para o arquivo. Observe que você deve configurar seu próprio arquivo kubeconfig. Não é possível acessar um cluster usando um arquivo kubeconfig que outro usuário tenha configurado. Consulte Configurando o Acesso ao Cluster. Em seguida, em uma janela de terminal, digite kubectl get nodes para ver os endereços IP públicos dos nós de trabalho nos pools do nó no cluster.
    • Usando a Console. Na Console, exiba a página Lista de Clusters e selecione o cluster ao qual o nó de trabalho pertence. Na guia Pools de Nós, clique no nome do pool de nós ao qual pertence o nó de trabalho. Na guia Nós, você vê o endereço IP público de cada nó de trabalho no pool de nós.
    • Usando a API REST. Use a operação ListNodePools para ver os endereços IP públicos dos nós de trabalho em um pool de nós.
  2. Na janela de terminal, digite ssh opc@<node_ip_address> para se conectar ao nó de trabalho, em que <node_ip_address> corresponde ao endereço IP do nó de trabalho que você anotou anteriormente. Por exemplo, você pode digitar ssh opc@192.0.2.254.

    Observe que, se a chave privada SSH não estiver armazenada no arquivo ou no caminho que o utilitário ssh espera (por exemplo, o utilitário ssh pode esperar que a chave privada seja armazenada em ~/.ssh/id_rsa), você deverá especificar explicitamente o nome do arquivo e o local da chave privada de duas maneiras:

    • Use a opção -i para especificar o nome do arquivo e o local da chave privada. Por exemplo, ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
    • Adicione o nome do arquivo e o local da chave privada a um arquivo de configuração SSH, seja o arquivo de configuração do cliente (~/.ssh/config), se houver, ou o arquivo de configuração do cliente no nível do sistema (/etc/ssh/ssh_config). Por exemplo, você pode adicionar o seguinte:

      Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

    Para obter mais informações sobre o arquivo de configuração do utilitário ssh, digite man ssh_config

    Observe também que as permissões no arquivo de chave privada devem conceder acesso de leitura/gravação/execução, mas impedir que outros usuários acessem o arquivo. Por exemplo, para definir permissões apropriadas, você pode inserir chmod 600 ~/.ssh/my_keys/my_host_key_filename. Se as permissões não estiverem definidas corretamente e o arquivo de chave privada estiver acessível para outros usuários, o utilitário ssh simplesmente ignorará o arquivo de chave privada.

Conexão com Nós Gerenciados em Sub-redes Privadas Usando SSH

Os nós de trabalho gerenciados em sub-redes privadas só têm endereços IP privados (eles não têm endereços IP públicos). Eles só podem ser acessados por outros recursos dentro da VCN.

Você pode usar o Acesso Privado do Cloud Shell para obter acesso SSH aos nós de trabalho em sub-redes privadas (consulte Rede Privada do Cloud Shell).

A Oracle recomenda usar o serviço Oracle Cloud Infrastructure Bastion para permitir o acesso SSH externo a nós de trabalho em sub-redes privadas. Para obter mais informações sobre bastions, consulte Configurando um Bastion para Acesso ao Cluster.