RealVNC® logomarca

RealVNC Viewer

Produtividade

ícone fechar círculo

VNC vs SSH: Escolha do protocolo de acesso remoto correto para uma administração segura do sistema

Contents

Janela do terminal SSH

Se entrar numa sala de administradores de sistemas e perguntar se preferem SSH ou VNC, terá opiniões fortes. Alguns juram pela precisão da linha de comandos, enquanto outros nunca abdicarão da conveniência de ter uma sessão completa no ambiente de trabalho remoto. O debate sobre VNC vs SSH é tão antigo como a própria administração de sistemas, porque cada protocolo oferece algo que o outro não pode oferecer.

O Acesso remoto é, obviamente, a base das operações de TI modernas. Os administradores raramente se sentam em frente a racks de servidores e gerem anfitriões a partir de consolas KVM. Têm de se ligar através de uma rede para resolver problemas, implementar e monitorizar sistemas remotos. Esta tarefa normalmente significa executar comandos numa shell de texto (SSH) ou controlar todo o ambiente de trabalho noutro servidor (VNC). Tal como acontece com a maioria das coisas em TI, a abordagem que funciona melhor depende da situação, da carga de trabalho e do sistema operativo que a máquina anfitriã está a executar.

Este artigo não resolverá o debate VNC vs SSH, mas explicará as diferenças entre os dois e porque é que ambos continuam a ser mais necessários do que nunca. Verá como cada método suporta o fluxo de trabalho da empresa, que medidas de Security se aplicam e onde os factores de desempenho podem influenciar a adoção. Também destacaremos como a adaptação mais avançada do protocolo VNC, o VNC® Connect, fornece software de acesso remoto seguro pronto para uso para empresas.

Como funciona o VNC: Acesso remoto ao ambiente de trabalho

RealVNC Sessão remota VNC do Ambiente de trabalho remoto do Windows para o Ubuntu Linux

Computação de rede virtual (VNC) é uma das primeiras e mais amplamente adoptadas tecnologias de ambiente de trabalho remoto. O princípio por detrás do seu funcionamento é bastante simples: um VNC® Server captura a saída do ecrã de um computador, comprime-a em pacotes de dados e envia essa informação para um cliente através da rede. O cliente recebe os pacotes e, em seguida, apresenta o ambiente gráfico, criando a experiência de estar diretamente em frente ao sistema remoto.

O protocolo Remote Framebuffer (RFB) é o padrão subjacente ao VNC. O FRB é responsável pela transmissão de informações de pixéis, codificação das actualizações gráficas e interpretação dos movimentos do rato, cliques e entradas de teclado do utilizador cliente. Quando um utilizador move o rato ou escreve no teclado, essas acções são reencaminhadas para o VNC Server, que as executa na máquina de destino.

Como estamos a falar de uma sessão interactiva bidirecional de um ambiente de trabalho completo, a eficiência da codificação é importante. As primeiras implementações do VNC transmitiam dados de pixel brutos e exigiam alta largura de banda. As versões modernas empregam algoritmos de compressão para reduzir o tráfego e, ao mesmo tempo, manter uma imagem de alta resolução no lado do cliente. Algumas implementações VNC podem até aproveitar a GPU do utilizador para lidar com aplicações pesadas e ecrãs de alta resolução.

O VNC é mais comumente usado em servidores e desktops Windows, mas como funciona no nível do framebuffer, é multiplataforma por design. Um servidor VNC em execução no Linux e no MacOS também pode ser acedido por praticamente qualquer cliente que suporte o protocolo. Esta flexibilidade permite às equipas de TI a ligação a uma variedade de sistemas sem dependerem de soluções específicas de plataformas como RDP da Microsoft.

Para organizações que usam o VNC, mas exigem segurança de nível empresarialo VNC® Connect fornece autenticação reforçada e suporte entre plataformas que vai muito além do que as opções padrão de VNC de código aberto fornecem.

Como funciona o SSH: Acesso seguro à linha de comando

Ambiente de trabalho Debian 12 com duas sessões SSH activas, apresentando o top e o lynx

O Secure Shell Host (SSH) fornece acesso encriptado à linha de comando para sistemas remotos com uma sobrecarga extremamente baixa (mesmo através de uma ligação dial-up de 56k) e uma forte integridade da sessão. Os administradores utilizam o SSH para abrir um terminal num servidor de destino, autenticar e executar comandos como se estivessem sentados mesmo em frente a ele. O protocolo separa as preocupações em uma camada de transporte, uma camada de autenticação e uma camada de ligação para manter uma comunicação confiável, mesmo em redes não confiáveis.

A fase da camada de transporte negocia os algoritmos e estabelece a confidencialidade. As pilhas SSH modernas tendem a favorecer a troca de chaves Curve25519, chaves de host Ed25519 e cifras AEAD como chacha20 ou AES-GCM. Os grupos RSA mais antigos e os grupos Diffie-Hellman clássicos ainda existem, embora os administradores modernos prefiram opções mais recentes para uma postura de segurança.

Quando o canal está protegido, a autenticação do utilizador prossegue com chaves públicas, certificados de curta duração ou palavras-passe de âmbito restrito. A ligação é então iniciada com a atribuição de canais virtuais para shells, pedidos de execução ou encaminhamento de portas.

Um fluxo de trabalho típico utilizando SSH tem o seguinte aspeto:

  1. O cliente utiliza um terminal ou um emulador de terminal como o Putty, onde estabelece a ligação através do comando CLI SSH user@host:port ou introduzindo o nome do anfitrião ou o IP do servidor de destino (como é o caso de aplicações como o Putty).
  2. O servidor fornece uma shell como bash, zsh ou fish.
  3. Os operadores executam utilitários do sistema, lêem os registos com journalctl ou tail, modificam a configuração e registam os resultados para alterar os registos.

No Linux, o SO mais associado ao SSH, esta abordagem adapta-se a milhares de nós, porque as operações de texto são inerentemente rápidas e programáveis.

Para aqueles que temem a administração apenas por CLI, não te preocupes. A profundidade dos recursos do SSH pode ir além de um terminal simples com encaminhamento X11. Embora os utilizadores possam ficar desapontados por não poderem reencaminhar um ambiente de trabalho inteiro, o X11 sobre SSH permite que uma única aplicação remota da máquina anfitriã seja apresentada no computador local.

Sessão WinSCP e Putty para uma VM Linux

O túnel SSH também pode ser utilizado para encapsular de forma segura o tráfego de outras aplicações (incluindo VNC), e os administradores podem utilizar o SCP para transferir ficheiros bidireccionalmente entre o anfitrião e o cliente.

VNC vs SSH: Quais são as principais diferenças no Acesso remoto?

Uma vez que o SSH funciona universalmente com quase todos os sistemas operativos (sim, até com o Windows) e o VNC é multiplataforma, a escolha entre os dois resume-se à forma como os administradores preferem interagir com um sistema remoto. O VNC oferece uma experiência de ambiente de trabalho completa em que o cliente recebe uma imagem espelhada do ambiente de trabalho do anfitrião. O SSH oferece uma interface de linha de comandos só de texto que é eficiente, mas significa que tens de saber o que fazer para a utilizar.

A principal linha divisória entre os dois resume-se ao desempenho. Um anfitrião VNC transmite actualizações contínuas do ecrã através da rede, o que requer muito mais largura de banda. O SSH move apenas texto e sinais de controlo, o que mantém a latência extremamente baixa, mesmo em ligações lentas como satélite e telemóvel.

A segurança é outro grande fator de distinção. O SSH é encriptado de imediato e beneficia de normas criptográficas comprovadas. As soluções VNC antigas e mesmo algumas soluções modernas de código aberto não são de todo encriptadas ou requerem um pouco de configuração para que a encriptação funcione. Alguns utilizadores até fazem o túnel das suas ligações VNC através de SSH, mostrando realmente como o SSH é seguro e versátil.

As implementações modernas de VNC de nível empresarial, como o VNC® Connect, fornecem encriptação de sessãoautenticação moderna e suporte de conformidade verificado através de auditorias independentes.

Apresentamos de seguida as principais diferenças entre o VNC e o SSH:

AspetoVNC (Remote Desktop)SSH (Linha de Comando)
InterfaceAmbiente de trabalho gráfico completoShell apenas de texto
DesempenhoMaior largura de banda e maior carga do sistemaBaixa largura de banda e comunicação leve
SegurançaVaria de acordo com a implementaçãoEncriptado por defeito
Casos de utilizaçãoAplicações GUI, formação, apoio ao utilizador e resolução de problemasAutomação, criação de scripts e análise de registos

Até hoje, ambos os protocolos continuam a ser fundamentais para as estratégias de acesso remoto e a maioria dos administradores implementa-os lado a lado para gerir eficazmente todos os tipos de servidores remotos. O VNC é escolhido quando os administradores necessitam de controlo interativo total para além das funções básicas, incluindo aplicações GUI, assistência ao utilizador e resolução de problemas em vários passos. O SSH é preferido para tarefas precisas e com scripts, como alterações de configuração, gestão de pacotes, revisão de registos, transferências de ficheiros e automação.

Considerações de segurança: Proteção de sistemas remotos

Infelizmente, o acesso remoto convida ao risco, especialmente em servidores públicos. Por este motivo, a administração remota de soluções de acesso exige um grande enfoque na segurança. Tanto o SSH como o VNC enfrentam ameaças se não forem implementados sem salvaguardas, mas as melhores práticas e as funcionalidades empresariais podem colmatar a maioria das lacunas.

Riscos e medidas de segurança do SSH

Com o SSH, dá-se prioridade à comunicação encriptada. No entanto, os servidores expostos são alvos frequentes de ataques. Problemas e respostas comuns são:

  • Os agentes maliciosos utilizam scanners como o Nmap para detetar portas SSH abertas (TCP:22). Os administradores podem configurar o servidor SSH para escutar numa porta diferente ou exigir acesso local através de uma VPN.
  • Os logins baseados em palavras-passe são vulneráveis a ataques de força bruta. É melhor utilizar chaves SSH, protegidas por frases-chave, e desativar totalmente a autenticação por palavra-passe.
  • O login de root via SSH é particularmente vulnerável se as credenciais forem roubadas. As equipas normalmente desactivam completamente o início de sessão SSH de raiz e favorecem o aumento de privilégios com o sudo ou uma conta de administrador separada.
  • Os ataques com scripts de força bruta podem sobrecarregar os servidores e criar muito ruído. Ferramentas como o fail2ban monitorizam os registos SSH e bloqueiam os endereços IP ofensivos após várias falhas.
  • Os ataques man-in-the-middle são mitigados através da verificação das impressões digitais da chave do anfitrião antes do estabelecimento da confiança. Esta funcionalidade é um componente essencial do SSH moderno.

Riscos e Mitigações de Segurança da VNC

As versões mais antigas do VNC tinham alguns problemas de segurança notáveis porque o protocolo de base não tinha encriptação. As versões modernas oferecem encriptação e podem ser tornadas mais seguras através de:

  • Ativar a encriptação nas aplicações VNC que a suportam. Caso contrário, os dados e até as palavras-passe são enviados em texto simples. Se a criptografia não estiver disponível, o encapsulamento do tráfego VNC através do encaminhamento SSH fornece um transporte criptografado.
  • A autenticação por palavra-passe simples pode ser adivinhada ou roubada. Plataformas como o VNC® Connect oferecem padrões de autenticação modernos e podem ser integrado com SSO empresarial.
  • Tal como o SSH, a porta VNC nativa (TCP:5900+N) expõe o serviço a scanners. Mover a porta de escuta ou escondê-la atrás de NAT e firewalls reduz o risco.
  • Os riscos de sequestro de sessão também são resolvidos através da encriptação dos dados em trânsito com normas de encriptação modernas.

Estruturas de conformidade como PCI-DSS e ISO 27001 exigem que as organizações demonstrem que os seus sistemas remotos são seguros. Revisão Orientação de autenticação segura OWASP é recomendada antes de implementares qualquer ferramenta de acesso remoto.

VNC® Connect: A abordagem moderna da SEGURANÇA VNC

Para empresas que exigem padronização para VNC, Os controlos de segurança do VNC® Connect atendem a todos os riscos comuns e às necessidades de conformidade:

  • Encriptação de sessão completa e autenticação moderna (MFA, SSO) para uma comunicação segura com permissões granulares e pedidos de aprovação do cliente.
  • Certificação ISO 27001:2022 e Cyber Essentials e suporta GDPR, CCPA, HIPAA, PCI-DSS e EU NIS2.
  • Por predefinição, não grava sessões nem acede aos dados das sessões. As funcionalidades de privacidade do sistema remoto incluem o Modo de Privacidade, a proteção do ecrã e o bloqueio de entrada.
  • Infraestrutura de propriedade da RealVNC para intermediação, com um SOC 24×7, assinatura de código em todos os binários e auditorias regulares de caixa branca, além de testes de penetração independentes.
  • Gestão centralizada, implementação de MSI e Política de Grupo, proteção de força bruta e registos detalhados e pistas de auditoria que estão acessíveis no portal ou através da API dedicada.

Requisitos de desempenho e recursos

Grande plano de um terminal Linux bash que mostra o comando sudo

O protocolo que escolheres para fornecer acesso remoto tem um efeito direto no desempenho, na utilização de recursos e na experiência do utilizador final. A forma como cada tecnologia lida com o tráfego de rede e a carga do sistema explica porque é que os administradores recorrem frequentemente a ambos, mas em contextos diferentes.

Fatores de desempenho e ajuste do SSH

O SSH é lendário por funcionar bem sob as condições de rede mais difíceis. Uma vez que apenas texto e dados de controlo atravessam a ligação, o protocolo não necessita de muita largura de banda. Nem é preciso dizer que o SSH não precisa de muitos ajustes de desempenho, mas as práticas típicas incluem:

  • Os sinais “keep-alive” e “sign-of-life” enviados na sessão podem manter uma ligação aberta estável nos casos em que o anfitrião não tenha recebido tráfego ativo durante algum tempo.
  • Sinalizadores de compressão como SSH -C melhora a taxa de transferência ao transferir logs ou outros dados pesados.

Fatores de desempenho e ajuste do VNC

O VNC transmite um ambiente de trabalho gráfico como uma imagem contínua, pelo que consome naturalmente largura de banda. Aplicativos com mudanças visuais pesadas e altas taxas de atualização, como streaming de vídeo ou renderização 3D, aumentam ainda mais esse tráfego. A otimização para o desempenho do VNC inclui:

  • Algoritmos de compressão como os usados pelo VNC® Connect reduzem a quantidade de dados de pixel transmitidos e usam técnicas de codificação avançadas que se adaptam automaticamente à largura de banda.
  • A aceleração local da GPU descarrega parte da codificação da captura de ecrã, reduzindo a taxa da CPU e mantendo as taxas de fotogramas elevadas.
  • As definições de qualidade podem ser ajustadas para desativar componentes desnecessários do ambiente de trabalho, como o fundo do ambiente de trabalho e os efeitos de animação.
  • As funcionalidades de dimensionamento que traduzem os ambientes de trabalho do anfitrião de baixa resolução para alta resolução ou vários monitores ajudam a manter as imagens nítidas.

Casos de uso práticos: Quando usar SSH, VNC ou ambos

A escolha entre VNC e SSH depende da tarefa em mãos. Cada protocolo atende a necessidades específicas, e os administradores geralmente tendem a usar os dois juntos para uma cobertura mais completa.

VNC: Administração gráfica e suporte

Um servidor VNC proporciona uma partilha de ecrã visual completa, o que o torna ideal para:

  • Gerir ferramentas do Windows e do Windows Server não essenciais ou dashboards que não tenham um equivalente CLI.
  • Executa ambientes de desenvolvimento, como IDEs que precisam de uma GUI
  • Apoiar os utilizadores remotos, visualizando o aspeto do seu ambiente de trabalho, para que possas resolver os seus problemas em tempo real.
  • Explora aplicações gráficas como CAD e painéis baseados na Web.

SSH: Eficiência da linha de comando

Os administradores utilizam o SSH quando pretendem um controlo rápido e eficiente de um servidor remoto. Funciona melhor para:

  • Rever os registos do sistema e executar comandos de monitorização
  • Implementações de scripts em centenas de servidores ao mesmo tempo
  • Aceder remotamente a servidores sem cabeça (que não executam uma GUI)
  • Configurar notas de nuvem e clusters de contêineres remotamente

Integração e utilização complementar

Falámos muito sobre o encaminhamento e tunelamento de sessões VNC através de ligações SSH neste guia. Muitos administradores fazem isto quando lidam com aplicações VNC mais antigas ou de código aberto que residem em servidores e ambientes de trabalho Linux.

Como encapsular uma sessão VNC através de SSH

Windows Server 2019 com uma sessão VNC encaminhada por SSH para um ambiente de trabalho Debian

Um túnel seguro pode ser criado com um simples comando SSH. O processo começa com a escolha da porta local à qual o cliente se vai ligar. A porta 5901 é uma escolha comum, mas qualquer porta não utilizada funcionará.

  1. Abre uma janela de terminal local (isto pode ser feito num Windows Server com o OpenSSH instalado).
  2. Executa o seguinte comando, substituindo utilizador pelo nome da tua conta e servidor pelo nome do host ou IP do servidor remoto:

SSH -L 5901:localhost:5901 user@server

  1. Mantém a sessão aberta. Este comando encaminha o tráfego VNC recebido na porta local 5901 via SSH para a mesma porta no host remoto.
  2. Inicia o cliente VNC e liga-o a localhost:5901. Agora, a comunicação entre o cliente e o servidor VNC é encriptada dentro do canal SSH.

Esta configuração permite aos administradores proteger o tráfego VNC com encriptação e autenticação fortes, mantendo o controlo gráfico total de que necessita.

Embora isto funcione bem, não é ideal para sessões sem supervisão e não funciona bem em grande escala. O VNC® Connect fornece uma sessão VNC totalmente encriptada que elimina a necessidade de encaminhamento e tunelamento SSH para Linux, reduzindo a complexidade e mantendo a eficiência e a segurança da empresa.

Fluxos de trabalho híbridos: Combinando os pontos fortes de ambos

Há alturas em que podes precisar de ambos ao mesmo tempo. Por exemplo, um Windows Server actua como uma caixa de salto para uma sub-rede de rede bloqueada, onde lança uma sessão SSH para servidores localizados nessa sub-rede.

No Windows Server, o OpenSSH também está agora integrado e pode ser instalado. Isto significa que os administradores podem lançar Sessões do PowerShell sobre SSHcombina o scripting familiar do Windows com o transporte encriptado que o SSH fornece ao utilizar VNC ou RDP.

Suporte de servidor remoto multiplataforma

Uma coisa que tanto o VNC como o SSH têm em comum é o seu suporte multiplataforma. Um único cliente pode ligar-se a quase todos os sistemas. É esta funcionalidade que torna o VNC e o SSH ideais para administradores que lidam com ambientes mistos.

Cobertura VNC

Um servidor VNC pode ser executado no Windows, Linux ou MacOS, fornecendo acesso total à área de trabalho, independentemente do sistema operacional do host. Implementações modernas como o VNC® Connect podem estender este suporte a sistemas operativos móveis como Android e iOSO que significa que os administradores podem ligar-se a um servidor Windows ou Linux utilizando apenas o seu smartphone.

Cobertura de SSH

O SSH também é quase universal. A maioria das plataformas, routers e aparelhos baseados em Unix incluem um cliente SSH por defeito e, como já referimos, a Microsoft integrou o OpenSSH diretamente no Windows.

Os administradores podem agora iniciar sessões PowerShell ou CMD através de SSH, facilitando a gestão de ambientes heterogéneos, mesmo que estejas a executar uma loja quase completa do Windows.

Liderança em tecnologia VNC da RealVNC

A RealVNC® conhece o VNC. Afinal de contas, nós a inventamos. A nossa plataforma desempenhou um papel decisivo no avanço do protocolo VNC desde suas origens nos laboratórios da AT&T até as implantações prontas para o ENTERPRISE de hoje. As soluções da RealVNC vão além do acesso básico à área de trabalho remota, combinando um design seguro com recursos de nível empresarial.

As principais áreas de liderança incluem:

  • Desenvolvimento de protocolos: O trabalho de fundação da arquitetura original do servidor VNC e as contribuições contínuas para normas abertas.
  • Certificações de segurança: Auditorias independentes, conformidade com os quadros e apoio às estratégias Zero Trust.
  • Melhorias de desempenho: Algoritmos de codificação avançados que reduzem a largura de banda e mantêm as aplicações com boa capacidade de resposta, mesmo em condições de rede deficientes.
  • Integrações empresariais: Compatibilidade com sistemas de identidade, incluindo SSO, PAM e MFA.
  • Fiabilidade à escala: Suporte para grandes implementações, clustering e configurações de alta disponibilidade.
  • Serviços profissionais: Consulta, formação e apoio a longo prazo que ajudam as equipas de TI a implementar e a executar o acesso remoto de forma segura e eficiente.

A demanda das empresas continua a crescer por ferramentas flexíveis, porém robustas. O VNC® Connect para empresas fornece esses recursos para organizações que buscam ir além do SSH e do RDP para suas necessidades de acesso remoto.

Estrutura de decisão para a escolha de VNC vs SSH

A seleção entre VNC e SSH depende mais do contexto do que de uma única “melhor escolha”. Os responsáveis pelas decisões de TI precisam de ponderar:

  • Tipo de tarefa: As aplicações orientadas para GUI precisam do VNC. Não há como contornar isso. Se realizas mais operações de texto e automatizações, especialmente em ambientes Linux, o SSH é ideal.
  • Capacidade do utilizador: O pessoal ITSD menos experiente pode preferir fluxos de trabalho gráficos à CLI. No entanto, os utilizadores avançados tendem a beneficiar mais da utilização da linha de comandos.
  • Requisitos de segurança: SSH é criptografado por padrão. O VNC requer implementações empresariais como o VNC® Connect para fornecer acesso remoto verdadeiramente seguro.
  • Qualidade da rede: O SSH é excelente em ligações fracas, mas se tiveres pessoal no terreno que precise de resolver problemas no ambiente de trabalho, o SSH não ajuda. Uma solução de acesso remoto VNC é mais ideal neste caso.

Na maioria das empresas, uma combinação de ambos cria fluxos de trabalho resilientes para quase todos os cenários de servidor remoto. O VNC® Connect dá suporte a esse modelo duplo, fornecendo adoção segura entre plataformas.

Conclusão: Seleção estratégica de tecnologias

A escolha entre SSH e VNC destaca duas abordagens complementares ao acesso remoto moderno. O SSH oferece uma opção leve e encriptada para a administração da linha de comandos, enquanto o VNC proporciona uma experiência de ambiente de trabalho gráfica completa para interações com aplicações orientadas por GUI.

A maioria das empresas beneficiará com a implementação de ambos e com a adequação de cada protocolo a tarefas específicas e a conjuntos de competências dos utilizadores.

Se a sua organização estiver mais inclinada para a VNC, o VNC® Connect fornece soluções de nível empresarial, sem necessidade de túnel SSH. Contact us. Os nossos consultores especializados ajudarão a conceber uma implementação segura que se alinhe com a sua infraestrutura e requisitos operacionais.

Perguntas frequentes

O VNC e o SSH podem ser utilizados em conjunto?

Sim. Os administradores estabelecem túneis SSH com reencaminhamento de portas para transmitir sessões do servidor VNC através de tráfego encriptado. A combinação de acesso remoto gráfico com autenticação forte baseada em chave através deste sistema fornece segurança melhorada.

Qual é o melhor protocolo para a administração do sistema?

Depende da tarefa. O SSH fornece a melhor solução para executar scripts, automatizar tarefas e analisar registos em servidores distantes. O VNC é a melhor opção para aplicações orientadas por GUI e assistência remota ao ambiente de trabalho dos utilizadores.

Qual é a opção mais segura por defeito?

Toda a comunicação é encriptada automaticamente através de SSH. O software corporativo VNC® Connect aprimora o protocolo VNC básico com recursos de criptografia, MFA e auditoria, tornando as sessões gráficas igualmente seguras para ambientes regulamentados.

Learn more on this topic

Desde a monitorização remota de doentes até aos comprimidos inteligentes e gémeos digitais, as aplicações IoT nos cuidados de saúde...
Saber como partilhar o ecrã em dispositivos Android é crucial para garantir que as suas operações decorrem sem problemas. Ser...

A violação de segurança da AnyDesk é um lembrete de por que o acesso remoto seguro é importante. Após uma...

Try RealVNC® Connect today for free

No credit card required for 14 days of free, secure and fast access to your devices. Upgrade or cancel anytime