[Experiência] Erro na conexão remota do VScode com o Ubuntu, não foi possível estabelecer a conexão

O uso do VScode geralmente encontra a seguinte situação: Não foi possível estabelecer a conexão.

insira a descrição da imagem aqui

Deixe-me primeiro apresentar a diferença entre a conexão remota do VScode e a conexão SSH do terminal : quando o terminal usa SSH diretamente para se conectar, você só precisa abrir o serviço SSH e consumir uma pequena quantidade de memória; quando o VScode se conectar, ele estará automaticamente no diretório de usuário do servidor ou máquina virtual (também isto é ~/.vscode), instale os plug-ins relevantes em e inicie um nó vscode, que consome mais memória do que a conexão direta do terminal.

Vejo que algumas informações encontradas na Internet são bastante antigas. Um artigo sobre como configurar o caminho de configuração do Remote-SSH foi republicado diversas vezes. Este emm, em 2023, não precisa mais ser configurado. Em seguida, anote os problemas que você pode encontrar agora.

A seguir, apresentarei todos os motivos que encontrei, bem como uma ideia completa para solução de problemas, na esperança de inspirar você.

Situação 1: Antes da conexão falhar, não há caixa pop-up para inserir a senha

Nota: Não há nenhuma caixa pop-up solicitando uma senha,
indicando que o VScode e o servidor não interagiram com sucesso.
Neste momento, é necessário investigar o motivo da interação malsucedida.

  1. A primeira coisa a considerar são os motivos da rede . Tente fazer ping no endereço IP da máquina virtual ou servidor no host, e o endereço IP pode ser visualizado com o comando ifconfigou . ipconfigSe o ping falhar e a máquina virtual for usada, vá para 2; se o ping falhar e o servidor for usado, vá para 5; se o ping funcionar, vá para 6;
    falha no ping

  2. O host e a máquina virtual não se comunicam. Provavelmente, há um problema com a placa de rede ou firewall da máquina virtual . Se a própria máquina virtual não puder acessar a Internet, configure-a diretamente para o modo NAT e resolva o problema de acesso à Internet através deste artigo "A máquina virtual Ubuntu não pode se conectar à Internet" antes de retornar; se puder acessar a Internet, simplesmente não é interoperável, vá para 3.

  3. Primeiro exclua a causa do firewall e primeiro desligue os firewalls de ambas as partes. Desligue o firewall da máquina virtual diretamente e procure uma maneira de desligar o firewall do sistema xx sozinho. Ubuntu é sudo ufw disable; o firewall do host geralmente é ignorado, mas se você suspeitar que esse é o motivo, você pode desligue-o.A maneira específica de desligar o computador Windows é pesquisar "Firewall e Proteção de Rede" e, em seguida, desligá-lo diretamente. Se não for devido ao firewall, vá para 4.

  4. Existe uma solução muito estranha, mas é verdade: tente reiniciar a placa de rede da máquina virtual . O método de operação específico é procurar por "conexão de rede", conforme mostrado na figura abaixo, desabilitar e habilitar a placa de rede relacionada à máquina virtual e tentar fazer ping novamente após cerca de um minuto. Se o ping funcionar, vá para 5; se o ping ainda falhar, você pode considerar se o serviço de rede relacionado ao VMware no Windows está iniciado e procurar especificamente por "serviço". Se tudo estiver correto, mas o ping ainda falhar, eu tenho sem escolha.
    insira a descrição da imagem aqui

  5. O host e o servidor não se comunicam entre si, a maior parte disso é causado pela placa de rede do host ou pelos firewalls de ambas as partes . Em casos extremos, o servidor pode desabilitar a porta ping. Nesse caso, tente outro método de conexão de rede, então vá para 7. Outras situações comuns, uma é que o servidor tem alcance de acesso limitado, então você precisa se conectar à VPN da empresa ou escola para acessar; a outra é que o host não consegue acessar a Internet, podendo nem conseguir acessar Baidu; acesso por segmento, ou o firewall do servidor proíbe o host, então você precisa fechar o host ou firewall do servidor. Depois de verificar se o ping foi bem-sucedido, vá para 6.

  6. Tente fazer ssh no servidor ou host, em um terminal ssh [用户名]@[ip地址] -p [端口号,默认是22]. Se não conseguir se conectar, vá para 7; se conseguir se conectar, vá para 8.
    insira a descrição da imagem aqui

  7. Se o ssh não puder ser conectado, geralmente é porque o serviço ssh não está habilitado ou as portas relacionadas ao ssh estão desabilitadas ou alteradas. A maneira de iniciar o serviço ssh na máquina virtual ou servidor Ubuntu é sudo apt install openssh-server. systemctl start sshA porta ssh está desativada, desligue o firewall, se você alterá-lo, altere a porta.
    Caso extremo 1: O servidor ou máquina virtual não tem memória, você pode considerar reiniciar o servidor ou máquina virtual.
    Caso extremo 2: Ao conectar com ssh antes, Are you sure you want to continue connecting (yes/no/[fingerprint])? selecionei acidentalmente outras opções em vez de sim para esse problema, o que fez com que a conexão fosse rejeitada por padrão. Neste momento, você pode ir até a ~/.sshpasta para excluir know_hostso arquivo.
    Vá para 8 depois de conectar .

  8. Neste ponto, o terminal deve ser capaz de usar ssh para se conectar ao servidor ou à máquina virtual sem problemas. Neste ponto, se você usar o VScode para se conectar ao servidor ou máquina virtual, deverá descobrir que pelo menos uma caixa para inserir a senha aparecerá . Se sim, vá para a situação 2; se não, vá para a situação 9.

  9. Não há problema com a rede, mas a interação ainda não é possível, existe uma grande probabilidade de haver um problema com o arquivo de configuração da conexão SSH do seu VScode . Um arquivo de configuração de conexão SSH simples é mostrado na figura abaixo, que deve incluir Host, HostName, User e Port é 22 por padrão, que pode ser adicionado ou não. Se a caixa para digitação da senha aparecer após a correção, vá para a situação 2; caso contrário, vá para a 10.
    insira a descrição da imagem aqui

  10. Se ainda assim não aparecer, há outra situação extrema - quando o VScode cria uma nova conexão, às vezes uma janela pop-up irá aparecer para escolher o tipo de sistema do servidor. As opções são Linux, Windows e MacOS. Se isso está errado, mesmo que o ambiente de rede seja finalmente reparado, o VScode não consegue identificar qual sistema é o servidor ou máquina virtual oposto, o que causa falha na conexão. A solução é abrir as configurações no canto inferior esquerdo, pesquisar remote platforme alterar a plataforma para a correta:
    insira a descrição da imagem aqui

Situação 2: Após inserir a senha, mostra que a conexão não pode ser feita

Obs.: Uma caixa solicitando senha apareceu, mas ainda não está conectada,
indicando que o problema está no comportamento da aplicação VScode no servidor ou máquina virtual.
Neste momento é necessário verificar qual etapa do a operação VScode tem um problema.

  1. Verifique se a senha foi digitada incorretamente. Se a entrada estiver correta e a conexão ainda falhar, vá para 2.
  2. Se esta for sua primeira conexão ou conexão de um local ou máquina diferente, vá para 3; se você já se conectou a este servidor ou máquina virtual antes, mas de repente não consegue se conectar, vá para 5.
  3. Verifique se o espaço de armazenamento do servidor ou da máquina virtual está cheio . Depois que o VScode for conectado, ele instalará os plug-ins relacionados, portanto, é provável que não haja espaço de armazenamento no meio da instalação, portanto, ele não poderá ser conectado. Se estiver realmente cheio, a solução é usar o terminal para conectar primeiro para liberar espaço; se não for esse o motivo, vá para 4.
  4. Verifique se o seu diretório de usuário existe no servidor ou na máquina virtual, verificando cd ~se há alguma resposta. Depois que o VScode for conectado, ele instalará os plug-ins relacionados. O caminho de instalação padrão é ~/.vscode, mas alguns sistemas não criam diretórios de usuários automaticamente quando são instalados recentemente ~. Neste momento, eles precisam ser criados manualmente, e o proprietário deste pasta deve ser chowndefinida para você mesmo este usuário. Se não for por esse motivo, vá para 5.
  5. Pode ser que o tempo desde a última conexão tenha sido muito longo ou o sinal da rede esteja fraco e ela foi desconectada automaticamente. Basta clicar em Tentar novamente para reconectar. Caso contrário, não tenho outra solução no momento, você pode me enviar o relatório de erro na área de comentários para dar uma olhada.

Acho que você gosta

Origin blog.csdn.net/qq_46106285/article/details/132360266
Recomendado
Clasificación