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.
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
powershellPasso 2: Iniciar o OpenSSH
Após concluir a instalação dele, será hora de iniciar o cliente OpenSSH:
Start-Service sshd
powershellPara verificar se o OpenSSH está funcionando normalmente, você pode usar este comando:
Get-Service sshd
powershellO status Running indica que o sshd está rodando sem erros.
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'
powershellPasso 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
powershellPasso 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
powershellAntes 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.
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:
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.