For those that work in highly controlled and secure environments where you may not have admin rights on your workstation and your internet traffic has it TLS terminated by a nextgen firewall that does deep inspection you may need to take the additional steps to get the cloud shell extension to work in on your machine. If you receive an error like {"code":"SELF_SIGNED_CERT_IN_CHAIN"}. This means that you NodeJS install does not have the CA certs of your outbound firewall that terminates and re-signs all https traffic with internally signed CA certs. if as in my case you can't update the ca certs for the NodeJS install because it requires admin rights you can follow the below procedure to get you rolling.
- You need to get the CA certs by which you outbound firewall uses to resign all https traffic.
- You may have an intermediate and a root ca you will need to get them both.
- From your browser click on the lock icon to get the certificate information.
- Export all the CA certs in base64 encoded format
- Open a text editor to a new file and place all the ca certs in the file and save the file as firewall_ca.pem
- Open VS Code and go to settings
- Search for environment variable
- Click edit in settings.json under Terminal->Integrated->Env:Windows
- Add "NODE_EXTRA_CA_CERTS": "c:/{path}/firewall_ca.pem"
- Save the settings
- Restart VS Code
Cloud Shell should now work from VS Code. I hope you find this helpful.