Todos os produtos
Search
Central de documentação

Elastic Compute Service:Use Cloud Assistant to install OpenSSH on a Windows instance

Última atualização: Jul 03, 2026

O Cloud Assistant Agent executa comandos do Cloud Assistant em uma instância ECS. Este tópico descreve como usar o Cloud Assistant Agent para instalar o OpenSSH em uma instância ECS baseada em Windows.

Pré-requisitos

  • O Cloud Assistant Agent está instalado na instância. Para mais informações, consulte Instalar o Cloud Assistant Agent.

  • A instância ECS tem um endereço IP público atribuído automaticamente ou um Elastic IP Address (EIP) associado. Para obter instruções sobre como ativar a largura de banda pública, consulte Ativar largura de banda pública.

  • O grupo de segurança da instância deve ter uma regra que permita tráfego de entrada na porta TCP 22. Para mais informações, consulte Adicionar uma regra de grupo de segurança.

    Nota

    Para verificar as versões de sistema operacional compatíveis com o Cloud Assistant Agent, consulte a seção Usage Limits em Visão geral do Cloud Assistant.

Procedimento

  1. Acesse o ECS console - Cloud Assistant.

  2. No canto superior esquerdo da página, selecione uma região e um grupo de recursos.地域

  3. No canto superior direito, clique em Create/Run Command.

  4. Na página Create Command, configure o comando, selecione as instâncias de destino e defina os demais parâmetros.

    Parâmetro

    Descrição

    Command information

    Command Source

    Selecione Enter Command Content para criar um novo comando.

    Command type

    Selecione o tipo de comando.

    Windows: Selecione PowerShell.

    Command content

    • Cole o seguinte comando na caixa de conteúdo do comando:

      $curDir = $PSScriptRoot
      Set-Location $curDir
      # Check the OS version
      $OSversion = [Environment]::OSVersion.Version
      if ($OSversion.Major -lt 6 -or ($OSversion.Major -eq 6 -and $OSversion.Minor -lt 1)) {
           throw "This script is not supported on Windows 2008 or lower"
      }
      $Arch =([Array](Get-WmiObject -Query "select AddressWidth from Win32_Processor"))[0].AddressWidth
      if ($Arch -ne "64") {
          throw "Only 64-bit system architecture is supported"
      }
      function Check-Env() {
          $srv_status = (Get-WmiObject -Class win32_service -Filter "name= 'sshd'").Status
          if ( $srv_status -match "OK") {
              Write-Host "system already installed opensshd"
              exit
          }
      }
      function Download-File($file_url = "{{sshd_download_url}}", $file_path = "C:\Programdata\OpenSSH-Win64.zip") {
          if (Test-Path $file_path) { return; }
          [System.Net.ServicePointManager]::SecurityProtocol=[System.Net.SecurityProtocolType]::Tls12
          Invoke-WebRequest -Uri $file_url  -OutFile $file_path -UseBasicParsing
          if (! $?) { throw "$file_url download to $file_path error" }
      }
      function Unzip-File($src_file = "C:\Programdata\OpenSSH-Win64.zip", $dst_file = "C:\Programdata") {
          Expand-Archive -Path $src_file -DestinationPath $dst_file 
          if (! $?) { throw "Unzip $src_file to $dst_file error, please check" }
      }
      function Install-Ssh() {
          powershell.exe -ExecutionPolicy Bypass -File C:\Programdata\OpenSSH-Win64\install-sshd.ps1
          if (! $?) {
              throw "Install openssh error, please check"
          }
          Start-Service sshd
          Set-Service -Name "sshd" -StartupType Automatic; Start-Service sshd
          if (! $?) {
              throw "set sshd enable auto start or start sshd error , please check"
          }
      }
      Check-Env
      Download-File
      Unzip-File
      Install-Ssh
    • Use Parameters: Ative esta opção. Em seguida, especifique um valor para o parâmetro {{sshd_download_url}} no comando. Obtenha a URL de download da versão desejada do OpenSSH no site oficial do OpenSSH. Exemplo: https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64.zip.

    Execution plan

    Clique em Immediate Execution.

    Command name

    Insira um nome para o comando.

    Command description

    Insira uma descrição para o comando. Uma descrição clara, como a finalidade do comando, facilita a manutenção futura.

    Username

    Especifica o usuário que executa o comando na instância ECS.

    Como prática recomendada de segurança, execute comandos do Cloud Assistant como um usuário comum com as permissões mínimas necessárias. Para mais informações, consulte Executar comandos do Cloud Assistant como um usuário comum.

    Nota

    Por padrão, o Cloud Assistant executa comandos como usuário root em instâncias Linux e como usuário System em instâncias Windows.

    Execution path

    Para Windows, o caminho padrão é o diretório do processo Cloud Assistant Agent: C:\ProgramData\aliyun\assist\$(version).

    Timeout Period

    Defina o Timeout Period para o comando na instância. Se a execução do comando exceder o tempo limite, o Cloud Assistant encerra forçosamente o processo do comando.

    Unidade: segundos. O valor padrão é 60. Recomenda-se o valor 300. Ajuste o valor conforme as condições da rede.

    Select instance

    Selecione as instâncias de destino para o comando.

    Select Managed Instances

    Selecione as instâncias gerenciadas de destino para o comando.

    Nota

    Instâncias gerenciadas são servidores fora da Alibaba Cloud administrados pelo Cloud Assistant. Para mais informações, consulte Instâncias gerenciadas da Alibaba Cloud.

  5. Clique em Run and Save e verifique se o comando foi executado com sucesso.

    Um execution status igual a Succeeded, combinado com um ExitCode 0 e uma saída contendo sshd and ssh-agent services successfully installed, indica que a instalação do OpenSSH foi bem-sucedida.

  6. Verifique a instalação do OpenSSH.

    1. Conecte-se à instância Windows via VNC.

      Para mais informações, consulte Conectar-se a uma instância usando VNC.

    2. Clique em Dingtalk_20210510142550.jpg > Windows PowerShell para abrir o terminal Windows PowerShell.

    3. Execute o seguinte comando para verificar o status da rede:

      NETSTAT.EXE -ano

      Se houver uma entrada mostrando a porta 22 no estado LISTENING, o serviço está funcionando corretamente.

      PS C:\Users\Administrator> NETSTAT.EXE -ano
      Active Connections
        Proto  Local Address          Foreign Address        State           PID
        TCP    0.0.0.0:22             0.0.0.0:0              LISTENING       2880
        TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       892
        TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
        TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING       136
        TCP    0.0.0.0:47001          0.0.0.0:0              LISTENING       4
        TCP    0.0.0.0:49664          0.0.0.0:0              LISTENING       580
        TCP    0.0.0.0:49665          0.0.0.0:0              LISTENING       524
        TCP    0.0.0.0:49666          0.0.0.0:0              LISTENING       1116
        TCP    0.0.0.0:49667          0.0.0.0:0              LISTENING       1908
        TCP    0.0.0.0:49668          0.0.0.0:0              LISTENING       1824
  7. Confirme se é possível conectar-se remotamente à instância Windows usando um cliente SSH.

    Nota

    Use o nome de usuário e a senha atuais da instância Windows para fazer login.