2
votes

I've set up an instance on a GCP virtual machine and have installed anaconda, torch, etc. and have initialized my Jupyter notebooks (including the config setup). I've mounted my Google storage bucket and everything seems to be okay, except that when I run Jupyter:

~$ jupyter notebook --certfile=/home/username/certs/mycert.pem
[I 16:18:41.293 NotebookApp] [nb_conda_kernels] enabled, 3 kernels found
[I 16:18:44.879 NotebookApp] Serving notebooks from local directory: 
/home/username
[I 16:18:44.879 NotebookApp] 0 active kernels 
[I 16:18:44.879 NotebookApp] The Jupyter Notebook is running at: 
https://0.0.0.0:8888/
[I 16:18:44.879 NotebookApp] Use Control-C to stop this server and shut 
down all kernels (twice to skip confirmation).

I can access it on my VM's external IP:

https://xx.xxx.xxx.xx:8888

But as soon as I do that, I get this error:

ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert 
certificate unknown (_ssl.c:645)

Full traceback:

[W 16:18:52.343 NotebookApp] SSL Error on 11 ('73.43.19.83', 56932): 
[SSL: SSLV3_ALERT_CERTIFICATE
_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
[W 16:18:52.343 NotebookApp] SSL Error on 14 ('73.43.19.83', 56936): [SSL: SSLV3_ALERT_CERTIFICATE
_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)
[E 16:18:52.343 NotebookApp] Uncaught exception
    Traceback (most recent call last):
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
ine 693, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
run
        value = future.result()
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
15, in result
        raise_exc_info(self._exc_info)
      File "<string>", line 3, in raise_exc_info
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 876, in 
run
        yielded = self.gen.throw(*exc_info)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/http1connection.py", l
ine 168, in _read_message
        quiet_exceptions=iostream.StreamClosedError)
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/gen.py", line 870, in 
run
        value = future.result()
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/concurrent.py", line 2
15, in result
        raise_exc_info(self._exc_info)
      File "<string>", line 3, in raise_exc_info
      File "/home/username/anaconda3/lib/python3.5/site-packages/tornado/iostream.py", line 124
3, in _do_ssl_handshake
        self.socket.do_handshake()
      File "/home/username/anaconda3/lib/python3.5/ssl.py", line 988, in do_handshake
        self._sslobj.do_handshake()
      File "/home/username/anaconda3/lib/python3.5/ssl.py", line 633, in do_handshake
        self._sslobj.do_handshake()
    ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:6
45)

This is on a Linux VM. Locally, I'm on a PC. I've already tried rewriting the config file for Jupyter but I'm stuck on this problem. None of the solutions I've found online have worked.

1

1 Answers

-2
votes

It seems like you're trying to manually setup a VM instance with Jupyter. That tends to be pretty tricky, have you considered using GCP's AI Platform Notebook instead? https://cloud.google.com/ai-platform-notebooks

It gives you a VM with Jupyter Lab and many popular DL/ML libraries preinstalled and configured and you don't even need SSH to access your notebook.