码迷,mamicode.com
首页 > 编程语言 > 详细

通过web远程访问服务器的ipython

时间:2015-09-07 14:20:27      阅读:4165      评论:0      收藏:0      [点我收藏+]

标签:

如果想同过一个Web浏览器的方式远程访问服务器上的ipython notebook sever,可通过下面的步骤实现。

服务器:ubuntu14.04 server

客户端:windows/unix/linux均可+浏览器

  1. 创建certificate 文件 和 hash密码
    In [1]: from IPython.lib import passwd
    In [2]: passwd()
    Enter password:
    Verify password:
    Out[2]: sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed
  2. 使用openssl创建一个自签名证书,由于是自签名所以浏览器会提示警告,选择信任exception即可。如果不想引起警告,需具备合格证compliant certificate,可参照tutorial
    $ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

    此处需要注意到的是记住你生成的证书mycert.pem的路径,另外,由于你启用了ssl支持,所以在访问notebook server时需要用https://而非http:// 

  3. 通过ssl使得你通过浏览器发送的密码是加密的,你可以在安全协议模式下使用自签名的认证来启用notebook
    $ ipython notebook --certfile=mycert.pem
  4. 为notebook定制一个配置文件,此配置是基于用户而非全局的。命令执行后会提示生成的文件和位置
    $ ipython profile create nbserver
  5. 修改刚才create nbserver时生成的ipython_notebook_config.py文件
    #,默认情况下ipython_notebook_config.py位于~/.ipython/profile_nbserver/目录下
    
    c = get_config()
    
    # Kernel config
    c.IPKernelApp.pylab = inline  # 使用pyplot绘制功能
    
    # Notebook config
    c.NotebookApp.certfile = u/absolute/path/to/your/certificate/mycert.pem
    c.NotebookApp.ip = *
    c.NotebookApp.open_browser = False
    c.NotebookApp.password = usha1:bcd259ccf...[之前生成的hash密码]
    # It is a good idea to put it on a known, fixed port
    c.NotebookApp.port = 8035 #选择一个端口
  6. 最后在远程服务器键入命令
    ipython notebook --profile=nbserver

    之后便可在本地机器上使用Web浏览器访问notebook了

    https://[IP or your.host.com]:8035

    (此处比较诡异的是需要加一位才对(https://[IP or your.host.com]:8036),不知为什么)

                     技术分享

 

通过web远程访问服务器的ipython

标签:

原文地址:http://www.cnblogs.com/vin-yuan/p/4788674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!