O que é SSH?
Secure Shell (SSH) é um protocolo e uma interface de comandos para acesso seguro a um computador remoto. Administradores de rede o usam para gerenciar servidores web e outros servidores à distância. Dados e comandos transferidos por SSH são cifrados e protegidos de várias formas. Os dois lados da conexão cliente/servidor são autenticados com um certificado digital, e as senhas são cifradas. Para uma requisição via Secure Shell, o daemon SSH (ou o aplicativo/serviço servidor) precisa estar instalado e em execução.
SSH no Windows
Por padrão, o SSH está nos sistemas do tipo UNIX. Também dá para conectar a um servidor Windows via SSH. Há vários servidores SSH conhecidos para Windows. Um exemplo é o Cygwin, instalado como serviço. Entre os clientes SSH para Windows, vale citar o PuTTY. Ele se destaca pela interface amigável e pelo conjunto de recursos, inclusive proxy e gravação das configurações de conexão. A partir do Windows 10 (versão 1809 ou posterior) ou do Windows Server 2019, o sistema traz um cliente OpenSSH integrado para conectar a dispositivos remotos. A instalação fica na seção Applications & Features:
- Settings -> Applications -> Optional features -> Add a feature.
- Encontre OpenSSH Client na lista e clique em Install.
Para conectar a um host remoto via SSH, abra o PowerShell ou o cmd.exe. Digite o comando:
ssh username@host
Por exemplo, para conectar a um host Linux no IP 192.168.1.100 como root, execute:
ssh root@192.168.1.100
Na primeira conexão, o sistema pede para incluir a chave do host entre as confiáveis: digite yes e pressione Enter. Depois, pede a senha da conta. Informe a senha de root e pressione Enter. A console do host Linux remoto abre, e os comandos já podem ser executados.
Monitoramento de parâmetros do host via SSH
Com SSH, muitos parâmetros de um host remoto em Linux, Android ou outro sistema *nix podem ser monitorados. SSH oferece controle remoto do sistema operacional, inclusive a execução de scripts e a obtenção de informações. Por uma conexão SSH, o programa de monitoramento executa scripts e comandos do sistema, recebe o resultado e o processa.
Veja como o monitoramento SSH é configurado no 10-Strike Network Monitor (Pro).
Depois da instalação, a rede pode ser varrida e os hosts encontrados entram na lista de monitoramento, ou os hosts são criados manualmente. Inclua um host Linux na lista (Hosts -> Add host):
Por padrão, cada host novo ganha uma verificação ICMP ping, que acompanha a disponibilidade na rede. Crie a segunda verificação, de SSH (Checks -> Add check):
O programa já traz alguns modelos para a configuração da verificação:
- monitoramento de RAM livre/usada
- monitoramento da carga média da CPU por minuto, em 5 e 15 minutos (CPU Load)
- monitoramento do espaço livre nos discos indicados
Para outros parâmetros, use comandos personalizados e scripts bash executados no computador remoto, que devolvem os parâmetros ao programa via SSH. Por exemplo, o comando
cat /proc/15410/status |grep -i VMSIZE | awk '{print "result=",$2}'
obtém a memória ocupada pelo processo de PID 15410. O botão Get testa o script ou o comando. Se a requisição funcionar, o campo ao lado recebe o resultado.
A resposta de um script ou comando deve começar com a linha
result=
Use esta sintaxe:
| awk '{print "result=",$1}'
$1 é o número do parâmetro devolvido na resposta.
No exemplo:
/bin/date "+%F %T" | awk '{print "result=",$1}'
$1 devolve a data, $2 devolve a hora.
Se o parâmetro for numérico, o comando ou script deve devolver só o parâmetro, sem linhas extras nem comentários. Além de números, o programa analisa linhas e procura o texto indicado. Defina o limite a partir do qual o teste é considerado aprovado.
Para conectar via SSH, o host remoto pode exigir um arquivo de chave privada. Ele também entra no programa, no campo correspondente. Alguns servidores SSH são exigentes com o nome do terminal e podem devolver o erro "Unknown terminal type" na conexão. Nesse caso, informe o nome do terminal nas configurações do programa (seção Monitoring). No Linux, o nome do terminal sai com o comando echo $TERM.
Depois de testar o script ou o comando, passe ao próximo passo do assistente de configurações de monitoramento. Na seção Display on Charts, converta o valor recebido para a unidade desejada. Neste caso, kilobytes viram megabytes na divisão por 1024. O tipo de indicador também é definido aqui.
No último passo, defina os parâmetros de alerta para quando o valor sair da condição. Por exemplo, o envio de uma mensagem ao Slack.
Clique em Finish.
Pronto. A verificação foi criada e já está em execução. O resultado aparece na lista de verificações (veja o exemplo de espaço livre em disco abaixo).
O gráfico do parâmetro monitorado também pode ser exibido (veja o exemplo de carga média da CPU abaixo):
Com esta verificação, qualquer dispositivo Android pode ser monitorado, desde que um servidor SSH seja instalado nele. Por exemplo, o programa monitora smartphones de marcas conhecidas via Wi-Fi depois da instalação de um servidor SSH da Google Play.
Requisitos: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022.








