# Ligar o PowerShell através do SSH

Com o PowerShell SSH, pode aceder e gerir sistemas remotos a partir de praticamente qualquer lugar. O SSH também oferece **funcionalidades de registo** detalhadas que permitem uma supervisão e um acompanhamento exaustivos das atividades no servidor.

## Requisitos para utilizar o PowerShell SSH

A integração do SSH no Windows PowerShell permite-lhe estabelecer ligações SSH a sistemas remotos e executar **comandos SSH** num [script do PowerShell](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/criar-um-script-do-powershell/). Isto facilita a gestão e a automatização de tarefas em infraestruturas de TI distribuídas, especialmente num ambiente heterogéneo onde coexistem sistemas Windows e não Windows.

Para utilizar o PowerShell SSH, é necessário cumprir os seguintes requisitos:

- **Instalar o PowerShell**: certifique-se de que o PowerShell v6+ está instalado no seu computador local. O PowerShell geralmente vem pré-instalado no Windows, mas deve verificar se está a utilizar uma versão compatível com SSH.
- **Cliente SSH**: necessita de um cliente SSH no seu ambiente PowerShell para estabelecer ligações SSH. No Windows 10/11 e no Windows Server 2019, o OpenSSH está disponível por predefinição. Se utilizar uma versão anterior do Windows, poderá ter de instalar o OpenSSH manualmente.
- **Servidor SSH**: o servidor SSH é o servidor de destino ao qual se deve ligar. Pode ser um servidor Linux, um dispositivo de rede ou outro host com capacidade SSH.
- **Acesso à rede**: o seu computador local deve ter acesso à rede e ser capaz de alcançar o servidor SSH remoto. A porta 22 deve estar aberta para SSH nas regras da firewall.
- **Módulos PowerShell**: existem módulos do PowerShell que foram desenvolvidos especificamente para a utilização do SSH, como o módulo “PSSession” ou “Posh-SSH”. Deve verificar se o módulo correspondente está instalado no seu sistema para poder utilizar a funcionalidade SSH no PowerShell.
- **Direitos**: necessita de direitos de administrador ou permissões alargadas e de uma palavra-passe ou chave SSH para estabelecer ligações SSH a partir do seu computador local e aceder ao servidor remoto.

## Como utilizar o PowerShell SSH passo a passo

Antes de poder utilizar o Secure Shell (SSH) no PowerShell, é necessário configurar o servidor **OpenSSH**. Depois, poderá iniciar a sessão SSH no PowerShell e executar comandos no sistema remoto.

### Passo 1. Instale o OpenSSH

Clique no menu Iniciar ou digite «PowerShell» na barra de pesquisa. Selecione **«Executar como administrador**». O Windows PowerShell será aberto. Pode utilizar o seguinte comando do PowerShell para instalar o OpenSSH no seu computador Windows:

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

### Passo 2. Inicie o serviço OpenSSH

Assim que a instalação estiver concluída, poderá iniciar o serviço OpenSSH:

```powershell
Start-Service sshd
```

Podes verificar se o serviço OpenSSH está a ser executado:

```powershell
Get-Service sshd
```

O estado **«Running»** indica que o sshd está a ser executado corretamente.

[![Imagem: Servicio de servidor SSH PowerShell](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/8/c/csm_powershell-get-service-ssh_a9063b610b.webp "Servicio de servidor SSH PowerShell")](https://www.ionos.com/pt-pt/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-get-service-ssh.png) Get-Service sshd comprueba la ejecución del servicio SSH. ### Passo 3. Inicie automaticamente o serviço do servidor SSH

Para ativar o serviço do servidor OpenSSH **sempre que o Windows for iniciado**, pode introduzir o seguinte comando:

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

### Passo 4. Configure o firewall

Se o firewall do Windows estiver ativo, deve adicionar uma regra para permitir o tráfego SSH na **porta 22 (a porta SSH predefinida)**.

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

### Passo 5. Estabeleça uma ligação SSH

Agora poderá iniciar sessão no seu servidor SSH a partir de outro dispositivo. Para tal, abra o PowerShell no seu computador cliente e introduza o comando SSH com o **nome de utilizador e o endereço do servidor**.

```powershell
ssh username@servername
```

Substitua «username» pelo seu nome de utilizador SSH e «servername» pelo endereço IP ou nome de host do servidor remoto. Ao executar o comando, ser-lhe-á pedido que introduza a sua palavra-passe SSH, a menos que esteja a utilizar **uma chave SSH** para a autenticação.

[![Imagem: Inicia sesión en PowerShell SSH](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/a/5/csm_powershell-ssh-login_05553cb132.webp "Inicia sesión en PowerShell SSH")](https://www.ionos.com/pt-pt/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-login.png) Introduce la contraseña SSH ### Passo 6. Trabalhe na sessão SSH

Depois de estabelecer uma ligação SSH, poderá executar comandos no servidor remoto como se estivesse fisicamente ligado ao servidor. Para encerrar a sessão SSH e regressar ao PowerShell local, pode utilizar o comando `exit`.

Existe uma série de comandos SSH no PowerShell. O comando `pwd` significa «print working directory» e mostra o diretório de trabalho atual, por exemplo:

[![Imagem: Comandos SSH PowerShell utilizando PWD como ejemplo](https://www.ionos.com/pt-pt/digitalguide/fileadmin/_processed_/f/e/csm_powershell-ssh-commands-example_4f8b6f0a09.webp "Comandos SSH PowerShell utilizando PWD como ejemplo")](https://www.ionos.com/pt-pt/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-commands-example.png) Ejemplo de comandos SSH en PowerShell Aqui está uma lista de comandos que podes utilizar no PowerShell SSH:

- `ls/dir`: mostra o conteúdo de um diretório
- `cd`: muda o diretório no servidor remoto
- `touch/New-Item`: cria um novo ficheiro
- `rm/Remove-Item`: elimina ficheiros ou diretórios
- `mv/Move-Item`: move ou renomeia ficheiros e diretórios
- `useradd`: adiciona um utilizador
- `scp`: transfere ficheiros entre o cliente e o servidor

Encontrará mais comandos no nosso artigo sobre [comandos do PowerShell](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comandos-do-powershell/).


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