SSH Parte 2: Configurando o Secure Shell no Windows 10 - Embarcados
O protocolo Secure Shell (SSH) fornece várias ferramentas muito úteis e importantes para a administração remota de seus dispositivos e hosts. Use o SSH para acesso remoto à linha de comando interativo, transferência de arquivos e até mesmo encapsular outros protocolos de rede entre sistemas. O cliente SSH está incorporado na maioria das distribuições Linux (se não, em todas) e agora também está incluído no Microsoft Windows. Os administradores de Linux contam com o SSH há décadas para o gerenciamento de sistemas e não há sinal de que isso mude. O SSH oferece serviços críticos de autenticação e criptografia para gerenciamento de sistemas remotos, e essas ferramentas continuarão a desempenhar um papel importante no gerenciamento de dispositivos de todas as marcas e modelos.
A Microsoft tradicionalmente dependia de uma rica interface gráfica do usuário para a administração do sistema operacional Windows e evitava o suporte a outros sistemas operacionais como o Linux. Houve alguns esforços que permitiram aos administradores do Linux trabalhar com seus sistemas e programas nativos usando estações de trabalho Windows com vários emuladores e intérpretes, como Microsoft Services for Unix (SFU) e Cygwin. Ambos os ambientes permitiram que os administradores executassem programas compilados com Unix no Windows, mas o suporte era limitado.
A Microsoft começou a reconhecer as vantagens que os scripts e a automação traziam para a administração de sistemas e introduziu novos modelos e estruturas de administração de sistemas, como servidores headless que não executavam a GUI do Windows e o PowerShell, que forneciam um robusto kit de ferramentas de programação de administração de sistemas. Mais recentemente, a Microsoft ampliou seu suporte ao Linux e outros padrões de código aberto. Na atualização do Windows 10 Fall Creators Update, a Microsoft adicionou o Windows Subsystem para Linux (WSL) e os recursos opcionais para oferecer suporte ao cliente e servidor OpenSSH. Esses novos recursos garantem que você possa usar os computadores clientes do Windows para gerenciar sua infraestrutura, independentemente da plataforma ou localização.
A WSL fornece o melhor suporte ao Linux até agora. A WSL permite instalar uma distribuição completa do Linux junto com a instalação do Windows, interopera diretamente com o hardware e o sistema de arquivos do Windows. A integração é estreita. Por exemplo, o diretório inicial na instalação do WSL Ubuntu é igual ao diretório inicial do Windows. Parece que você tem um sistema com recursos adicionais e é muito diferente de executar uma máquina virtual Linux em paralelo à sua estação de trabalho Windows. Por exemplo, você pode abrir um terminal Ubuntu com a mesma facilidade que um console de comando do Windows e SSH diretamente em outro sistema, como se estivesse executando o Linux nativamente. Mas a WSL oferece muito mais do que apenas um cliente SSH – por exemplo, executar o interpretador Bash, compilar código C nativamente usando o GNU Compiler Collection (GCC) ou acessar ferramentas tradicionais do UNIX, como grep, sed e outras. Mesmo no PowerShell, você pode usar o Bash para aproveitar as ferramentas de desenvolvedor do Bash no PowerShell. Eu achei a adição do subsistema Windows Linux uma adição bem-vinda ao meu kit de ferramentas e me vejo frequentemente usando esse kit.
No passado, os administradores do Windows dependiam de aplicações, ou softwares, de terceiros, como o programa comercial SecureCRT da PuTTY ou da VanDyke Software, disponível gratuitamente, para fazer conexões remotas SSH. Esses programas fornecem uma ótima interface gráfica e facilitam a configuração das opções de autenticação, criptografia e encapsulamento do SSH. Mas na edição de outono de 2017 dos criadores, a Microsoft trouxe o OpenSSH diretamente para o Windows.
Cliente Windows OpenSSH
O cliente OpenSSH é instalado por padrão nas versões mais recentes do Windows 10 e Windows Server 1709 e posterior, e o servidor OpenSSH também pode ser opcionalmente instalado. O OpenSSH é fornecido como um recurso opcional do Windows. Para instalá-lo, basta digitar "recursos opcionais" na caixa de diálogo de pesquisa e selecione "Gerenciar recursos opcionais" nas configurações do sistema. Se você estiver executando a versão mais recente do Windows 10, encontrará o OpenSSH Client já instalado e poderá clicar em "adicionar recursos" para instalar o servidor OpenSSH.
Depois de instalado, você pode abrir um prompt de comando normal do Windows e digitar o seguinte para usar o OpenSSH para conectar-se com segurança a um sistema remoto:
Servidor Windows OpenSSH
A Microsoft inclui o servidor OpenSSH, que permite conexões ssh remotas de ao seu computador Windows. Por exemplo, usando qualquer cliente ssh, você pode abrir uma sessão segura com um computador Windows para a administração remota desse sistema.
Para configurar o OpenSSH no Windows, primeiro verifique se o servidor OpenSSH está instalado, verificando os recursos opcionais das configurações do sistema. Em seguida, verifique se o serviço OpenSSH foi iniciado. Por fim, verifique se o firewall está configurado para permitir o TCP 22 ao host do Windows. (Isso já deve ter sido feito para você, porque quando você instala o servidor OpenSSH, o Windows cria uma nova regra de entrada para o OpenSSH SSH Server (sshd)).
Agora o seu computador Windows está pronto para aceitar novas conexões ssh. Conecte-se a ele como você geralmente se conecta a outro dispositivo ou host SSH. No cliente, execute:
Onde está escrito username, substitua pelo nome de usuário que você usa para efetuar logon no computador Windows e onde está escrito remotesystem, substitua pelo nome do computador Windows instalado e ativado no servidor OpenSSH.
Para personalizar sua experiência, edite os arquivos de configuração localizados no diretório \Windows\System32\OpenSSH. Existem algumas diferenças entre essa configuração do OpenSSH e outras e as instruções específicas do Windows para configurar o sshd_config estão nos sites de suporte do GitHub e da Microsoft (https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration) A instalação do Windows OpenSSH se integra aos logs de eventos do Windows, o que é útil para solucionar problemas. Por exemplo, você pode ver falhas de login no arquivo de log de eventos de segurança do Windows.
As ferramentas OpenSSH incluídas na implementação do Microsoft Windows incluem: scp, sftp, ssh, ssh-add, ssh-agent, ssh-keygen e ssh-keyscan. Ao instalar o recurso Windows OpenSSH Server, você também têm a disposição: sftp-server, sshd.exe, sshd_config_default e ssh-shellhost.exe.
A Microsoft aumentou significativamente sua interoperabilidade com o Linux e agora suporta ferramentas que muitos engenheiros, desenvolvedores e administradores usam para gerenciar seus outros dispositivos de nuvem e IoT que muitas vezes executam Linux e outros sistemas operacionais do tipo UNIX. Com a inclusão do Windows Subsystem para Linux e do OpenSSH, e suporte cliente e servidor, você terá mais opções para oferecer suporte à sua infraestrutura, independentemente do sistema operacional usado.
Configurando o SSH com Windows 10 – Pontos chave
O Microsoft Windows inclui suporte interno ao OpenSSH a partir de linha de comando, bem como seu conjunto de recursos Linux para Windows.
O Microsoft Windows 10 e o servidor também suportam o OpenSSH SSH Server para permitir conexões remotas seguras aos seus sistemas operacionais, assim como o Linux.
O Microsoft Windows Subsystem para Linux expande suas opções para gerenciar seus ambientes de nuvem e dispositivos de IoT nas estações de trabalho Windows.
Artigo escrito originalmente por Jeff Fellinge para Mouser Electronics: SSH Part 2: Configuring SSH from a Windows 10 Workstation. Traduzido por Equipe Embarcados.