无法连接到AWS EC2实例上的Jupyter Notebook

dbl*_*001 14 amazon-ec2 jupyter-notebook

我在AWS EC2实例上运行Ubuntu 14.04 LTS.我正试图从我的MacBookPro连接到Safari中的Jypter.我在我的安全组中打开了https端口443和TCP 8888.

ubuntu@ip-10-0-1-62:~$ netstat -a  | grep 8888
tcp        0      0 localhost:8888          *:*                     LISTEN     
tcp        0      0 localhost:8888          localhost:36190         TIME_WAIT  
ubuntu@ip-10-0-1-62:~$ netstat -a  | grep 443
unix  3      [ ]         STREAM     CONNECTED     12443    
ubuntu@ip-10-0-1-62:~$ 
Run Code Online (Sandbox Code Playgroud)

我无法通过Mac上的Safari浏览器连接到Jupyter.(我可以通过端口6006连接到Tensorboard).

ubuntu@ip-10-0-1-62:~$ jupyter notebook
[W 20:40:14.909 NotebookApp] Unrecognized JSON config file version, assuming version 1
[I 20:40:14.921 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:40:15.224 NotebookApp] JupyterLab alpha preview extension loaded from /home/ubuntu/anaconda/lib/python2.7/site-packages/jupyterlab
[I 20:40:15.230 NotebookApp] Serving notebooks from local directory: /home/ubuntu
[I 20:40:15.230 NotebookApp] 0 active kernels 
[I 20:40:15.230 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=c08a71a48c6e159bdbdcc95837c4e2e053349382c681899b
[I 20:40:15.231 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 20:40:15.232 NotebookApp] 

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=c08a71a48c6e159bdbdcc95837c4e2e053349382c681899b
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

$ telnet 52.8.16.250 8888
Trying 52.8.16.250...
telnet: connect to address 52.8.16.250: Connection refused
telnet: Unable to connect to remote host
$ telnet 52.8.16.250 6006
Trying 52.8.16.250...
telnet: connect to address 52.8.16.250: Connection refused
telnet: Unable to connect to remote host
$ telnet 52.8.16.250 8080
Trying 52.8.16.250...
telnet: connect to address 52.8.16.250: Connection refused
telnet: Unable to connect to remote host
$ telnet ec2-52-8-16-250.us-west-1.compute.amazonaws.com 8888
Trying 52.8.16.250...
telnet: connect to address 52.8.16.250: Connection refused
telnet: Unable to connect to remote host
$ telnet ec2-52-8-16-250.us-west-1.compute.amazonaws.com 20
Trying 52.8.16.250...

telnet: connect to address 52.8.16.250: Operation timed out
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

ale*_*os7 10

对我来说,ssh隧道很适合这种情况.

ssh -i /path/to/your/AWS/key/file -NL 8157:localhost:8888 user@host
Run Code Online (Sandbox Code Playgroud)

用户和主机依赖于您的ec2实例.

之后,您可以浏览到http:// localhost:8157 /


Nad*_*v B 10

好的,发现了这个问题:

编辑你的jupyter配置:

jupyter notebook --generate-config

vim /home/ubuntu/.jupyter/jupyter_notebook_config.py
Run Code Online (Sandbox Code Playgroud)

确保这一点

c.NotebookApp.ip = '*'
Run Code Online (Sandbox Code Playgroud)

还要确保在EC2服务器中打开相关的安全组(例如端口8888)

运行Jupyter:

jupyter notebook
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用正确的端口远程访问它

  • 使用`jupyter notebook --ip =*`启动笔记本对我来说很有用. (6认同)

Sau*_*nha 7

在此输入图像描述

我收到上述错误,但尝试了命令: jupyter notebook --ip=*

这对我有用。


小智 5

确保您的 AWS 实例安全组配置如下屏幕截图: 已配置 aws 实例入站安全组

如果您确定 AWS 的权限配置正确,请检查您的网络是否未阻止出站流量。您可以尝试在通过 SSH 连接到实例时进行端口隧道:

ssh -i -L 8888:127.0.0.1:8888

然后您可以通过在浏览器上访问 localhost:8888 来本地访问 jupyter