# 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](https://www.ionos.com/digitalguide/server/know-how/windows-powershell/ "Windows PowerShell") e um servidor pelo protocolo de rede SSH, conseguirá acessar sistemas remotamente, além de **executar comandos SSH** em [scripts PowerShell](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/criar-powershell-script/). 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.

## Passo a passo para estabelecer conexão PowerShell SSH

Antes de utilizar o protocolo de rede [*Secure Socket Shell* (SSH)](https://www.ionos.com/pt-br/digitalguide/servidor/ferramentas/o-que-e-ssh-protocolo-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:

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

### Passo 2: Iniciar o OpenSSH

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

```powershell
Start-Service sshd
```

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

```powershell
Get-Service sshd
```

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

[![Imagem: O status Running mostra que o cliente OpenSSH está rodando corretamente no seu computador](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/8/c/csm_powershell-get-service-ssh_a9063b610b.webp "O status Running mostra que o cliente OpenSSH está rodando corretamente no seu computador")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/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:

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

### 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)**:

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

### 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**:

```powershell
ssh username@servername
```

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.

[![Imagem: Código no PowerShell estabelece conexão remota por SSH](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/a/5/csm_powershell-ssh-login_05553cb132.webp "Código no PowerShell estabelece conexão remota por SSH")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/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:

[![Imagem: Comandos SSH pwd aplicado ao PowerShell](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/f/e/csm_powershell-ssh-commands-example_4f8b6f0a09.webp "Comandos SSH pwd aplicado ao PowerShell")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/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](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/powershell-commands/). Conheça-os para se especializar ainda mais nesse ambiente de linha de comando.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/conexao-powershell-ssh/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/conexao-powershell-ssh/) for AI/LLM consumption.