A conexão SSH direta é a forma recomendada de conectar-se a uma instância DSW a partir de um terminal local ou do VS Code. Esse método oferece uma conexão estável e rápida.
Limitações
-
Tipos de instância não suportados:
Especificações de recursos que começam com
ecs.ebmem um grupo de recursos público não suportam conexões remotas SSH. -
Limite de conexão à rede pública:
Ao conectar-se a uma instância DSW pela rede pública, o PAI cria automaticamente regras DNAT no NAT gateway. Nenhuma configuração manual é necessária.
Cada NAT gateway suporta até 100 regras DNAT, o que permite a conexão simultânea de até 100 instâncias DSW. Para mais informações sobre cotas, consulte Cotas.
Faturamento
Conexões de rede pública a instâncias DSW exigem um NAT gateway, um Endereço IP elástico (EIP) ou um Network Load Balancer (NLB). NAT gateways, EIPs e NLBs são faturados independentemente e continuam a gerar custos mesmo quando a instância DSW está parada. Exclua esses recursos quando não forem mais necessários.
Procedimento
Etapa 1: Ativar a resolução de DNS interno
Ative o Private DNS. As instâncias DSW são implantadas em uma VPC, e as conexões SSH dependem do DNS interno para resolver os endereços IP das instâncias. Ative a resolução de DNS interno antes de se conectar.
Etapa 2: Gerar uma chave pública SSH
Execute o seguinte comando no seu cliente para gerar uma chave pública. O sistema solicitará uma senha (passphrase). Se planejar usar a ferramenta remote_ikernel (consulte o cenário de exemplo neste tópico), ignore a definição da senha pressionando Enter.
Gerar uma chave pública no diretório padrão (recomendado)
Execute o seguinte comando:
ssh-keygen
Esse comando gera uma chave pública (id_rsa.pub) e uma chave privada (id_rsa) nos seguintes diretórios padrão. Se já existir um par de chaves SSH, os arquivos serão sobrescritos.
Windows:
C:\Users\<username>\.sshouC:\用户\<username>\.sshLinux:
/root/.sshpara o usuário root, ou/home/<username>/.sshpara outros usuários.macOS:
/Users/<username>/.ssh
Gerar uma chave pública em um diretório personalizado
Execute o seguinte comando:
ssh-keygen -f /your/path/example_rsa # Generates example_rsa.pub and example_rsa in /your/path
Etapa 3: Configurar parâmetros SSH para a instância DSW
Configure os seguintes parâmetros de rede ao Criar uma instância DSW.
Para uma instância existente, clique em Change Settings para modificar os parâmetros correspondentes e, em seguida, clique em OK para aplicar as alterações.
|
Parâmetro |
Descrição |
|
Virtual Private Cloud, vSwitch ID, Security Group |
Ao criar uma instância DSW com recursos públicos, configure Virtual Private Cloud, vSwitch ID e Security Group. Para instruções passo a passo, consulte Criar uma VPC e um vSwitch e Gerenciar grupos de segurança. A VPC e o grupo de segurança devem estar na mesma região da instância DSW. Importante
Certifique-se de que as regras de entrada do grupo de segurança permitam tráfego TCP na porta 22 a partir do endereço IP do seu cliente. |
|
Enable SSH |
Ative esta opção e cole o conteúdo do arquivo de chave pública |
|
Service Access and Port Configuration |
Após ativar a opção Enable SSH, um serviço SSH será exibido.
|
|
Public Network Access |
Necessário para acesso à rede pública. Selecione DNAT + EIP.
Para criar um NAT gateway e um EIP, siga estas etapas: Alternativamente, selecione NLB. Ao criar uma instância NLB, defina Instance Network Type como Public e selecione a mesma VPC da instância DSW. Para mais informações, consulte Introdução ao NLB para balanceamento de carga IPv4. Nota
Se várias instâncias DSW compartilharem o mesmo DNAT e EIP (ou NLB), utilize uma porta de acesso público diferente para cada instância. |
Etapa 4: Instalar o servidor SSH
No terminal da instância DSW, execute o seguinte comando para verificar se o serviço SSH está em execução.
Imagens pré-construídas oficiais e imagens personalizadas derivadas delas já possuem o servidor SSH instalado e iniciado por padrão.
service ssh status
Caso o serviço SSH não esteja em execução, execute os seguintes comandos no terminal da instância DSW para instalar o servidor SSH.
sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start
Se o sudo não estiver disponível, execute primeiro apt-get install sudo e tente novamente.
Etapa 5: Conectar-se à instância DSW
-
Visualize os métodos de conexão.
Na página do DSW, clique no nome da instância para abrir a página de detalhes. Na aba Instance Settings, vá até a seção Network Settings para encontrar o método de acesso à rede pública e o método de acesso à VPC.
NotaSe o acesso à rede pública não estiver habilitado na configuração SSH, apenas o método de acesso à VPC será exibido.
-
Conecte-se à instância DSW.
Conectar usando SSH
-
Acesso à rede pública
Em uma ferramenta de linha de comando ou terminal local, utilize o método de acesso à rede pública obtido na etapa anterior para conectar-se à instância DSW.
ssh root@xx.xx.xx.xx -p 1024 # If the private key isn't in the default path, specify its location ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024ImportanteO valor 1024 para o parâmetro
-pcorresponde à porta de acesso público configurada para SSH. -
Acesso à VPC
A partir de outro terminal dentro da VPC (como uma instância ECS), utilize o método de acesso à VPC obtido na etapa anterior para conectar-se à instância DSW.
ssh root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22 # If the private key isn't in the default path, specify its location ssh -i /your/path/example_rsa root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22
Conectar usando o VS Code
-
Abra o VS Code e instale a extensão Remote - SSH no marketplace de Extensões.

Clique em
no canto inferior esquerdo para abrir a caixa de diálogo Remote-SSH. Selecione Connect to Host... > Add New SSH Host....-
Insira o comando de conexão SSH.
ssh root@xx.xx.xx.xx -p 1024 # If the private key isn't in the default path, specify its location ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024
-
Clique em Open no canto inferior direito. Quando a conexão for bem-sucedida, a barra de status no canto inferior esquerdo exibirá o nome do host remoto.

-
Abra uma pasta na instância DSW para iniciar o desenvolvimento e a depuração remotos.

-
Durante a execução, conecte-se a um kernel na instância DSW.

-
Exemplo: Executar código de Notebook local em uma instância DSW
Pré-requisitos
Conclua as Etapas 1 a 4 deste tópico. Ao gerar o par de chaves SSH, não defina uma senha (passphrase).
Procedimento
-
Instale a ferramenta remote_ikernel na sua máquina local e adicione um kernel remoto.
pip install remote_ikernelremote_ikernel manage --add \ --kernel_cmd="ipython kernel -f {connection_file}" \ # No modification needed --name="Remote Python" \ --interface=ssh \ --host=root@*.*.*.*:1024 # Replace with your host address. If the private key isn't in the default path, use --host="-i /your/path/example_rsa root@*.*.*.*:1024"Se a saída abaixo for exibida, o kernel remoto foi adicionado com sucesso.
Added kernel ['rik_ssh_root_121_40_*_*_1024_remotepython']: SSH root@121.40.*.*:1024 Remote Python.Para visualizar a configuração do kernel remoto, execute o seguinte comando.
remote_ikernel manage --show -
No VS Code, abra um arquivo Notebook. Clique no seletor de kernel no canto superior direito e selecione Remote Python na caixa de pesquisa.

Perguntas frequentes
P: Qual a diferença entre a conexão SSH direta e o proxy ProxyClient?
P: Como solucionar falhas de conexão SSH, tempos limite ou rejeição de chaves?
Solucione o problema com base nas seguintes categorias:
-
Falha na conexão à rede pública
Verifique se as regras de entrada do grupo de segurança permitem tráfego TCP na porta 22 a partir do endereço IP do seu cliente.
Se a VPC possuir vários NAT gateways de Internet, consulte Implantar NAT gateways de zona única para alta disponibilidade para verificar a relação de roteamento entre NAT gateways, vSwitches e tabelas de rotas.
Caso exista apenas um NAT gateway, utilize a ferramenta de solução de problemas autônoma para analisar a acessibilidade da rede.
-
Falha na conexão interna da VPC
Certifique-se de que o cliente e a instância DSW estejam na mesma VPC e que a resolução de DNS interno esteja ativada.
Se utilizar uma imagem personalizada, verifique se o SSH Server está instalado e iniciado. Para mais informações, consulte Etapa 4: Instalar o servidor SSH.
Confirme se as regras de entrada do grupo de segurança permitem tráfego TCP na porta 22.
-
Permissão negada (chave rejeitada)
Garanta que o conteúdo completo da chave pública (
id_rsa.pub) tenha sido adicionado à configuração SSH da instância DSW.Assegure-se de que a chave privada usada no comando SSH corresponda à chave pública. Se a chave privada não estiver no caminho padrão (
~/.ssh/id_rsa), especifique-a com o parâmetro-i.
-
Falha na conexão do VS Code
Verifique se a extensão
Remote - SSHestá instalada e se o comando SSH foi inserido completamente (por exemplo,ssh root@xx.xx.xx.xx -p 1024).Teste a conexão em um terminal local primeiro. Após obter sucesso na conexão básica, solucione problemas na configuração do VS Code.
Se aparecer o erro "pipe does not exist", reinicie o VS Code ou reinstale a extensão Remote - SSH.
P: Posso usar o PyCharm ou outras IDEs locais para me conectar a uma instância DSW?
Sim. Todos os recursos baseados no protocolo SSH nativo são suportados. Ao usar o PyCharm, ele baixa e instala automaticamente um componente do lado do servidor na instância DSW. Portanto, a instância DSW deve ter acesso à rede pública.
P: Como encontro o endereço IP público de uma instância?
Se um NAT gateway estiver configurado, siga estas etapas para encontrar o endereço IP público.
P: Uma instância DSW suporta múltiplos usuários SSH?
Por padrão, as instâncias DSW suportam apenas login SSH como usuário root. A criação de múltiplos usuários com acesso SSH isolado não é oficialmente suportada. É possível criar usuários manualmente dentro da instância, mas essa configuração não possui suporte oficial.
P: Não consigo ver meus arquivos de workspace após conectar através de uma IDE local. O que devo fazer?
Após o login via SSH, o diretório padrão é o diretório home do usuário root (/root). Os arquivos de workspace geralmente estão em um disco de dados montado, como /mnt/workspace. No VS Code, acesse File > Open Folder e selecione o diretório correto.
Referências
Se esta abordagem não for adequada ao seu cenário ou se você não quiser configurar componentes de rede adicionais, experimente o ProxyClient para conexões remotas.
Configure o nome da VPC, o bloco CIDR IPv4 e as informações do vSwitch. Mantenha os valores padrão para os demais parâmetros e clique em OK para criar a VPC e o vSwitch.





