ssh AWS、Jupyter Notebook 未显示在 Web 浏览器上

Bil*_*ack 5 ssh google-chrome amazon-web-services deep-learning jupyter-notebook

我正在尝试使用 ssh 连接到 AWS“Deep Learning AMI for Amazon Linux”,除了 Jupyter Notebook 之外,一切正常。这是我得到的:

ssh -i ~/.ssh/id_rsa ec2-user@yy.yyy.yyy.yy
Run Code Online (Sandbox Code Playgroud)

给我

Last login: Wed Oct  4 18:01:23 2017 from 67-207-109-187.static.wiline.com

=============================================================================
       __|  __|_  )
       _|  (     /   Deep Learning AMI for Amazon Linux
      ___|\___|___|

The README file for the AMI ????????????????????  /home/ec2-user/src/README.md
Tests for deep learning frameworks ????????????   /home/ec2-user/src/bin
=============================================================================

1 package(s) needed for security, out of 3 available
Run "sudo yum update" to apply all updates.
Amazon Linux version 2017.09 is available.
Run Code Online (Sandbox Code Playgroud)

然后

[ec2-user@ip-xxx-xx-xx-xxx ~]$ jupyter notebook
[I 16:32:14.172 NotebookApp] Writing notebook server cookie secret to /home/ec2-user/.local/share/jupyter/runtime/notebook_cookie_secret
[I 16:32:14.306 NotebookApp] Serving notebooks from local directory: /home/ec2-user
[I 16:32:14.306 NotebookApp] 0 active kernels 
[I 16:32:14.306 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=74e2ad76eee284d70213ba333dedae74bf043cce331257e0
[I 16:32:14.306 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 16:32:14.307 NotebookApp] No web browser found: could not locate runnable browser.
[C 16:32:14.307 NotebookApp] 


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

复制http://localhost:8888/?token=74e2ad76eee284d70213ba333dedae74bf043cce331257e0并获取

can’t establish a connection to the server at localhost:8888。” 在 Firefox 上,

This site can’t be reached localhost refused to connect。” 在 Chrome 上 在此处输入图片说明

在此处输入图片说明

进一步, jupyter notebook --ip=yy.yyy.yyy.yy --port=8888

Traceback (most recent call last):
  File "/usr/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python3.4/dist-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/lib/python3.4/dist-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/usr/lib/python3.4/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/lib/python3.4/dist-packages/notebook/notebookapp.py", line 1296, in initialize
    self.init_webapp()
  File "/usr/lib/python3.4/dist-packages/notebook/notebookapp.py", line 1120, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/usr/lib64/python3.4/dist-packages/tornado/tcpserver.py", line 142, in listen
    sockets = bind_sockets(port, address=address)
  File "/usr/lib64/python3.4/dist-packages/tornado/netutil.py", line 197, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 99] Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

请注意,这肯定会有所帮助(仅适用于 MXNet 吗?我不熟悉 MXNet)Jupyter_MXNet

小智 4

localhost 仅在尝试从机器本身使用 jupyter (或者任何东西)时才起作用。在这种情况下,您似乎正在尝试从另一台计算机访问它。

您可以使用开关--ip=abcd来完成此操作,其中abcd是 EC2 实例的公共地址(或使用0.0.0.0使其在所有接口中侦听。)

您还可以使用--port=X定义要侦听的特定端口号。

请记住,您的安全组必须允许从外部访问您选择的 IP/端口。

例如:

jupyter笔记本 --ip=abcd --port=8888