PowerShell SSH: Conectar o PowerShell a servidores por SSH

Ao estabelecer uma conexão PowerShell SSH, você poderá acessar e administrar sistemas remotos de praticamente qualquer lugar. Ainda, o protocolo de segurança SSH oferece recursos de registro minuciosos, que possibilitam abrangentes monitoramento e acompanhamento das atividades do servidor.

Pré-requisitos para estabelecer conexão PowerShell SSH

Se você estabelecer uma conexão entre o Windows PowerShell e um servidor pelo protocolo de rede SSH, conseguirá acessar sistemas remotamente, além de executar comandos SSH em scripts PowerShell. Isso lhe facilitará a gestão e a automação de tarefas em infraestruturas dispersas e em ambientes heterogêneos, que incluem tanto o Windows quanto outros sistemas operacionais.

Antes de estabelecer uma conexão PowerShell SSH, você precisará de:

  • PowerShell: Verifique se o PowerShell já está instalado no seu computador local. Via de regra, ele vem pré-instalado no Windows, mas é sempre interessante que você confirme se possui uma versão que suporta SSH (versão 6 ou superior).
  • Ferramenta SSH: Você precisará de um cliente SSH no seu ambiente PowerShell para estabelecer conexões por esse protocolo de rede. Nos Windows 10 e 11, e no Windows Server 2019, o cliente OpenSSH vem instalado por padrão. Contudo, se você usa uma versão diferente do Windows, terá de instalar o OpenSSH manualmente.
  • Servidor SSH: Servidor SSH é o servidor de destino, ou seja, o servidor que receberá a conexão. Este pode ser um servidor Linux, um dispositivo de rede ou qualquer outro host que oferece suporte ao SSH.
  • Acesso à rede: Seu computador local deve conseguir acessar a rede para que possa se conectar remotamente ao servidor por SSH. Para tanto, nas regras do firewall, a porta 22 deve estar aberta para o protocolo.
  • Módulo PowerShell: Alguns módulos do PowerShell foram especialmente criados para conexões SSH, como o “PSSession” e o “Posh-SSH”. Para fazer uso do SSH no PowerShell, certifique-se se o módulo adeuqado está instalado no seu sistema.
  • Permissões: Para estabelecer conexões SSH a partir do seu computador local e acessar um servidor remotamente, você precisa ter direitos de administrador ou permissões avançadas, além de estar em posse da respectiva senha ou chave SSH.
Dedicated Server da IONOS

O encontro do hardware com a nuvem: servidor dedicado com nuvem integrada e cobrança por minuto, incluindo assistente pessoal!

  • Suporte 24 horas
  • Tráfego ilimitado
  • Certificado SSL

Passo a passo para estabelecer conexão PowerShell SSH

Antes de utilizar o protocolo de rede Secure Socket Shell (SSH) no PowerShell, você deverá configurar o cliente OpenSSH. Somente assim você conseguirá conectar o PowerShell a um servidor por SSH, para a execução de comandos remotos em sistemas.

Passo 1: Instalar o OpenSSH

Na busca da barra de ferramentas do Windows, digite “PowerShell” e, em seguida, selecione “Executar como administrador”, para que o ambiente de linha de comando seja aberto com as devidas permissões. Com o seguinte comando, você poderá instalar o OpenSSH no seu computador Windows:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
powershell

Passo 2: Iniciar o OpenSSH

Após concluir a instalação dele, será hora de iniciar o cliente OpenSSH:

Start-Service sshd
powershell

Para verificar se o OpenSSH está funcionando normalmente, você pode usar este comando:

Get-Service sshd
powershell

O status Running indica que o sshd está rodando sem erros.

powershell-get-service-ssh.png
No PowerShell, o comando Get-Service sshd verifica a execução do OpenSSH pelo seu sistema operacional

Passo 3: Iniciar o OpenSSH automaticamente

Para ativar o OpenSSH atuomaticamente toda vez que o seu Windows for iniciado, insira o comando abaixo no ambiente de linha de comando:

Set-Service -Name sshd -StartupType 'Automatic'
powershell

Passo 4: Ajustar o firewall

Se o firewall do seu Windows estiver ativo, você precisará adicionar uma nova regra para que ele permita o tráfego de dados SSH pela porta 22 (porta padrão para SSH):

New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
powershell

Passo 5: Estabelecer conexão PowerShell SSH

Depois de executar os quatro primeiros passos, você já poderá acessar servidores por SSH, a partir do PowerShell. Para isso, inicie o PowerShell no seu computador local e digite o comando ssh seguido do nome de usuário e do endereço do servidor:

ssh username@servername
powershell

Antes de pressionar o [Enter], substitua “username” pelo seu nome de usuário do servidor e “servername” pelo endereço IP ou pelo nome do host do mesmo servidor. Ao executar esse comando, você será solicitado a inserir a respectiva, a não ser que utilize uma chave SSH como método de autenticação.

powershell-ssh-login.png
Você terá de saber seu nome de usuário SHH, o nome ou IP do servidor e a sua senha SSH para conseguir estabelecer uma conexão PowerShell SSH

Passo 6: Possibilidades de conexões PowerShell SSH

Ao estabelecer uma conexão PowerShell SSH, você poderá executar comandos no servidor remoto como se estivesse acessando-o fisicamente. Para encerrar a conexão PowerShell SSH e voltar a usar o PowerShell localmente, insira o comando exit.

Diversos comandos SSH podem ser usados no PowerShell. Por exemplo, o comando pwd (print working directory), que explicita o diretório de trabalho atual:

powershell-ssh-commands-example.png
O PowerShell suporta a execução de diferentes comandos SSH

Abaixo, reunimos para você os principais comandos SSH que podem ser usados no PowerShell:

  • ls/dir: Exibir o conteúdo de um diretório.
  • cd: Mudar de diretório no servidor remoto.
  • touch/New-Item: Criar um novo arquivo.
  • rm/Remove-Item: Excluir arquivos ou diretórios.
  • mv/Move-Item: Mover ou renomear arquivos e diretórios.
  • useradd: Adicionar um usuário.
  • scp: Transferir arquivos entre cliente e servidor.

Este artigo do nosso Digital Guide apresenta os principais comandos PowerShell. Conheça-os para se especializar ainda mais nesse ambiente de linha de comando.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top