Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O suporte ao Linux está disponível no Visual Studio 2017 e posterior. O desenvolvimento remoto seguro do Linux compatível com FIPS está disponível no Visual Studio 2019 versão 16.5 e posterior.
Federal Information Processing Standard (FIPS) Publication 140-2 é um padrão do governo dos EUA para módulos criptográficos. As implementações da norma são validadas pelo NIST. O Windows validou o suporte para módulos criptográficos compatíveis com FIPS. No Visual Studio 2019 versão 16.5 e posterior, você pode usar uma conexão criptográfica segura e compatível com FIPS ao seu sistema Linux para desenvolvimento remoto.
Veja como configurar uma conexão segura e compatível com FIPS entre o Visual Studio e seu sistema Linux remoto. Este guia é aplicável quando você cria projetos CMake ou MSBuild Linux no Visual Studio. Este artigo é a versão compatível com FIPS das instruções de conexão em Conectar ao seu computador Linux remoto.
Preparar uma conexão compatível com FIPS
Alguma preparação é necessária para usar uma conexão ssh criptograficamente segura compatível com FIPS entre o Visual Studio e seu sistema Linux remoto. Para conformidade com FIPS-140-2, o Visual Studio suporta apenas chaves RSA.
Os exemplos neste artigo usam o Ubuntu 18.04 LTS com o servidor OpenSSH versão 7.6. No entanto, as instruções devem ser as mesmas para qualquer distro usando uma versão moderadamente recente do OpenSSH.
Para configurar o servidor SSH no sistema remoto
No sistema Linux, instale e inicie o servidor OpenSSH:
sudo apt install openssh-server sudo service ssh startSe você quiser que o
sshservidor seja iniciado automaticamente quando o sistema for inicializado, ative-o usandosystemctl:sudo systemctl enable sshAbra
/etc/ssh/sshd_configcomo root. Edite (ou adicione, se não existirem) as seguintes linhas:Ciphers aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc HostKeyAlgorithms ssh-rsa KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1 MACs hmac-sha2-256,hmac-sha1Observação
ssh-rsa,rsa-sha2-*eecdsa-sha2-*são os únicos algoritmos de chave de host compatíveis com FIPS suportados pelo VS. Para obter mais informações sobre os algoritmos suportados pelo Visual Studio, consulte Algoritmos SSH suportados.Você não está limitado a essas opções. Você pode configurar
sshpara usar outras cifras, algoritmos de chave de host e assim por diante. Algumas outras opções de segurança relevantes que você pode querer considerar sãoPermitRootLogin,PasswordAuthenticationePermitEmptyPasswords. Para obter mais informações, consulte amanpáginasshd_configou o artigo Configuração do servidor SSH.Depois de salvar e fechar
sshd_config, reinicie o servidor ssh para aplicar a nova configuração:sudo service ssh restart
Em seguida, você criará um par de chaves ECDSA em seu computador Windows. Em seguida, você copiará a chave pública para o sistema Linux remoto para uso pelo ssh.
Para criar e usar um arquivo de chave ECDSA
Na máquina Windows, gere um par de chaves ECDSA público/privado usando este comando:
ssh-keygen -t ecdsa -m PEMO comando cria uma chave pública e uma chave privada. Por padrão, as chaves são salvas em %USERPROFILE%.ssh\id_ecdsa e %USERPROFILE%.ssh\id_ecdsa.pub. (No PowerShell, utilize $env:USERPROFILE ao invés da macro cmd %USERPROFILE%) As chaves geradas com RSA também são suportadas. Se você alterar o nome da chave, use o nome alterado nas etapas a seguir. Recomendamos que você use uma frase secreta para aumentar a segurança.
Do Windows, copie a chave pública para a máquina Linux:
scp %USERPROFILE%\.ssh\id_ecdsa.pub user@hostname:No sistema Linux, adicione a chave à lista de chaves autorizadas e verifique se o arquivo tem as permissões corretas:
cat ~/id_ecdsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keysAgora, você pode testar para ver se a nova chave funciona no
ssh. Utilize-o para iniciar sessão a partir do Windows:ssh -i %USERPROFILE%\.ssh\id_ecdsa user@hostname
Você configurou ssh, criou e implantou chaves de criptografia com sucesso e testou sua conexão. Agora você está pronto para configurar a conexão do Visual Studio.
Conectar-se ao sistema remoto no Visual Studio
No Visual Studio, escolha Opções de Ferramentas > na barra de menus para abrir a caixa de diálogo Opções. Em seguida, selecione Gerenciador de conexões entre plataformas > para abrir a caixa de diálogo Gerenciador de conexões.
Se você não configurou uma conexão no Visual Studio antes, quando você cria seu projeto pela primeira vez, o Visual Studio abre a caixa de diálogo Gerenciador de conexões para você.
Na caixa de diálogo Gerenciador de Conexões, escolha o botão Adicionar para adicionar uma nova conexão.
A janela Conectar ao sistema remoto é exibida.
Na caixa de diálogo Ligar ao Sistema Remoto , introduza os detalhes da ligação da sua máquina remota.
Entrada Descrição Nome do host Nome ou endereço IP do dispositivo alvo Porto Porta em que o serviço SSH está sendo executado, normalmente 22 Nome de utilizador Usuário para autenticar como Tipo de autenticação Escolha a chave privada para uma conexão compatível com FIPS Arquivo de chave privada Arquivo de chave privada criado para conexão ssh Frase de segurança Senha usada com chave privada selecionada acima Altere o tipo de autenticação para Chave Privada. Introduza o caminho para a sua chave privada no campo Ficheiro de chave privada . Em vez disso, você pode usar o botão Procurar para navegar até o arquivo de chave privada. Em seguida, insira a senha usada para criptografar seu arquivo de chave privada no campo Senha .
Escolha o botão Conectar para tentar uma conexão com o computador remoto.
Se a conexão for bem-sucedida, o Visual Studio configurará o IntelliSense para usar os cabeçalhos remotos. Para obter mais informações, consulte IntelliSense para cabeçalhos em sistemas remotos.
Se a conexão falhar, as caixas de entrada que precisam ser alteradas serão delineadas em vermelho.
Para obter mais informações sobre como solucionar problemas de conexão, consulte Conectar-se ao computador Linux remoto.
Utilitário de linha de comando para o Connection Manager
Visual Studio 2019 versão 16.5 ou posterior: ConnectionManager.exe é um utilitário de linha de comando para gerenciar conexões de desenvolvimento remoto fora do Visual Studio. É útil para tarefas como provisionar uma nova máquina de desenvolvimento. Ou, você pode usá-lo para configurar o Visual Studio para integração contínua. Para obter exemplos e uma referência completa ao comando ConnectionManager, consulte Referência do ConnectionManager.
Opcional: ativar ou desativar o modo FIPS
É possível ativar o modo FIPS globalmente no Windows.
Para ativar o modo FIPS, prima Windows+R para abrir a caixa de diálogo Executar e, em seguida, execute
gpedit.msc.Expanda Diretiva do Computador Local, > Configuração do Computador, Configurações >> do Windows, Configurações de Segurança, Diretivas > Locais e selecione Opções de Segurança.
Em Política, selecione Criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura e pressione Enter para abrir sua caixa de diálogo.
No separador Configuração de Segurança Local , selecione Ativado ou Desativado e, em seguida, selecione OK para guardar as alterações.
Advertência
Ativar o modo FIPS pode fazer com que alguns aplicativos quebrem ou se comportem inesperadamente. Para obter mais informações, consulte a postagem do blog Por que não estamos mais recomendando o "modo FIPS".
Recursos adicionais
Documentação da Microsoft sobre validação FIPS 140
FIPS 140-2: Requisitos de segurança para módulos criptográficos (do NIST)
Programa de Validação de Algoritmos Criptográficos: Notas de Validação (do NIST)
Postagem no blog da Microsoft sobre por que não estamos mais recomendando o "modo FIPS"
Ver também
Configurar um projeto Linux
Configurar um projeto CMake Linux
Conecte-se ao seu computador Linux remoto
Implante, execute e depure seu projeto Linux
Configurar sessões de depuração do CMake