OpenSSH 🐡| PowerShell Core |Windows to centOS + Windows To Raspbian

Ewerton Rodrigues Jordão
3 min readOct 1, 2019

--

SSH com PowerShell Core, Windows para centOS + Windows para Raspbian.

E ae, pessoal beleza? Trazendo um assunto bem legal que viabiliza a administração remota de um Sistema Unix através do Windows e o mesmo se aplica de um sistema Windows para Unix (o exemplo é focado neste cenário). Tenho uma VM (CentOS 7), vou exemplificar como configurar e acessar através do PowerShell Core. Vamos lá:

CentOS

No CentOS o processo é bem simples, precisamos instalar e configurar, seguindo o passo a passo abaixo:

Vamos testar o funcionamento com o PowerShell, vou abrir uma conexão e enviar comandos remotamente.

Rasbian

➕ você pode replicar em sistemas Debian like sem problemas, vou demonstrar uma implementação no Raspberry Pi. Após instalar o Raspbian no menu Raspberry PI Configuration>Interfaces você vai ver uma lista de serviços que podem ser habilitados, entre eles o SSH, após o restart você provavelmente já vai conseguir se conectar ao Raspberry de forma remota.

Utilizando o meu client bash (WSL-1) que já tem o Client SSH por padrão, porém, também é possivel utilizar o OpenSSH Client(Windows 10) para realizar a conexão. Para me conectar utilizo basicamente o comando abaixo:

ssh [usuario]@[host]:porta

Existem algumas opções de login utilizando o Kerberos, chave SSH porém não abordarei neste artigo.

Acesso com o OpenSSH Client

Se por acaso você não utilizar o Windows 10 é possivel acessar o Raspberry PI com o Putty, Git, existem algumas alternativas.

Com o PowerShell Core eu posso estabelecer uma comunicação SSH com um host Linux, porém para isso eu preciso executar alguns passos, notem o que acontece ao tentar estabelecer a conexão sem o ambiente estar preparado:

Vamos executar algumas alterações no SSH Server, primeiro vou realizar uma cópia de segurança do arquivo sshd_config, localizado no path /etc/ssh.

Feita a cópia vamos realizar a alteração na configuração do subsystem.

O arquivo sshd_config vai ficar assim:

Se por algum motivo você utiliza a versão preview do PowerShell 7 no host destino como estou fazendo, verá que ao tentar se conectar com o Powershell Core 6.2.3(o último release disponível até a data desta publicação) apresentará uma incompatibilidade, portanto a conexão deve ser feita com a mesma versão ou superior.

Após a alteração é necessário reiniciar o SSHD

Feita a configuração agora é possivel se conectar através do PowerShell Core.

É isso pessoal, vimos que o acesso via SSH é bem simples de se configurar e se conectar com o PowerShell Core.

Possível problema ao utilizar o comando Clear-Host(clear) ele vai retornar a mensagem de que a variável TERM não foi definida, é possivel contornar isso com um dos comandos abaixo:

Set-Item -Path Env:/TERM -Value xterm   
#or ou
Set-Item -Path Env:/TERM -Value ansi

(☞゚ヮ゚)☞ Não se esqueça, PS é vida ☜(゚ヮ゚☜)

--

--

Ewerton Rodrigues Jordão

Microsoft MVP Alumni | Speaker at .NetSP, DevOps Professionals , Azure Talks, SampaDevs. | Technical Author |Pwsh é vida. DB Lover, Developer de coração