Em uma
postagem anterior
no SSH remoto, vimos como configurar uma máquina virtual Linux e conectar-se a uma máquina virtual usando
a extensão Remote-SSH no Visual Studio Code. Neste post, falaremos sobre algumas dicas e truques que você pode usar para aproveitar ao máximo sua configuração remota.

Conectar usando SSH remoto
A extensão Visual Studio Code Remote - SSH permite que você se conecte a uma máquina remota ou virtual usando SSH e tudo isso no VS Code. Se a extensão ainda não estiver instalada, você pode procurar por "ssh remoto" na guia "Extensões" (⇧⌘X).

Depois de instalar a extensão, você verá um indicador no canto inferior esquerdo da barra de status. Este indicador informa em que contexto o Código VS (local ou remoto) funciona. Clique no indicador para exibir uma lista de comandos de extensão remota.

Arquivo de configuração SSH
Em uma postagem anterior sobre SSH remoto, conectamos a apenas uma máquina e, quando solicitado, inserimos “user @ host”. Se você se conectar regularmente a vários servidores remotos ou máquinas virtuais locais, existe uma maneira melhor de se conectar sem precisar lembrar todos os nomes de usuários, endereços e parâmetros de configuração adicionais.
O OpenSSH suporta o uso de
um arquivo de configuração para armazenar todas as suas várias conexões SSH. Para usar o arquivo de configuração SSH, clique no indicador remoto para chamar os comandos remotos, selecione "Abrir arquivo de configuração" e selecione o arquivo que está localizado em "Usuários / {nome do usuário} / .Ssh / config".

Aqui está um exemplo de arquivo de configuração SSH:
# SSH: https://linux.die.net/man/5/ssh_config Host python-linux-vm HostName <vm address> User sana IdentityFile ~/.ssh/id_python_vm Host node-vm HostName <vm address> User sana Port 5522 IdentityFile ~/.ssh/id_node_vm
Existem muitas outras
opções de configuração que você pode especificar no formato do arquivo de configuração SSH. Você obterá os complementos neste arquivo e poderá clicar em (paceSpace) no IntelliSense para aprender mais sobre as opções de configuração.
Opções usadas acima:
Você pode adicionar informações para todos os hosts que você possui. Depois de salvar o arquivo de configuração, você poderá ver esses nós no Remote Explorer, bem como quaisquer pastas que você abrir nesse nó. Você pode selecionar um ícone ao lado de cada host ou pasta e ele iniciará uma nova janela de código VS (instância) e conectará você a esse host. Na captura de tela abaixo, estou conectado à minha máquina remota “python-linux-vm” e o Remote Explorer mostra as pastas às quais eu me conectei no passado, bem como quaisquer portas redirecionadas da máquina remota.

Proxycommand
Às vezes, pode ser necessário conectar-se do seu computador desktop ou laptop a um computador remoto através da intranet da empresa ou atrás de um firewall. Nesse caso, você pode usar um servidor intermediário ou
uma caixa de salto . Esse tipo de configuração é útil se você estiver executando um sistema seguro configurado para aceitar conexões SSH apenas de um conjunto fixo de hosts.
Para usar a configuração da caixa de salto com a extensão Remote - SSH, você pode usar o parâmetro de configuração
ProxyCommand
. Essa configuração abrirá a conexão SSH em segundo plano com a caixa de salto e, em seguida, se conectará através do endereço IP privado ao destino.
Você pode definir o parâmetro de configuração
ProxyCommand
no arquivo de configuração SSH da seguinte maneira:
# Jump box IP- Host jump-box HostName 52.179.157.97 User sana IdentityFile ~/.ssh/jumpbox # IP- Host target-box HostName <IP address of target> User sana IdentityFile ~/.ssh/target ProxyCommand ssh -q -W %h:%p jump-box
Controlmaster
Se você se conectar a um host SSH remoto usando métodos de autenticação diferentes da autenticação baseada em chave, como dois fatores, com base em senha ou uma chave SSH com uma senha, poderá ser necessário inserir as informações necessárias várias vezes.
Em vez de abrir várias conexões SSH, você pode usar a opção
ControlMaster
(apenas nos clientes macOS / Linux) para reutilizar uma conexão existente e reduzir o número de vezes que você precisa digitar sua senha.
Para usar esse recurso, adicione o seguinte ao seu arquivo de configuração SSH:
Host * ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 600
Computador remoto autônomo
Se você estiver limitado por um firewall ou sua empresa estiver bloqueando suas máquinas virtuais e elas não conseguirem se conectar à Internet, a extensão Remote - SSH não poderá se conectar à sua máquina virtual porque o VS Code deve baixar um componente chamado VS Code Server na máquina remota.
No entanto, agora você pode resolver esse problema com um novo
parâmetro de usuário na extensão Remota - SSH. Se você ativar o parâmetro
remote.SSH.allowLocalServerDownload
, a extensão instalará primeiro o VS Code Server no cliente e depois o copiará para o servidor através do SCP.
Nota Atualmente, esse é um recurso experimental, mas será ativado por padrão em uma versão futura.
Remoto - extensão SSH Nightly
Se você quiser testar novas atualizações e recursos experimentais assim que estiverem disponíveis, instale a extensão Remota - SSH Nightly (primeiro remova a extensão Remota-SSH estável). Esta é uma compilação noturna da extensão, onde experimentamos novos recursos e configurações antes de adicioná-los à versão estável.