本地主机访问远程linux系统服务器上的jupyter notebook

<div>1,机器情况:服务器 centos python环境已经配置好了,在虚拟环境下安装了anaconda 并且在里面安装了jupyter notebook</div>
<div>2,主机是 windows</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>ipython notebook是一个基于浏览器的python数据分析工具,使用起来非常方便,具有极强的交互方式和富文本的展示效果。jupyter是它的升级版,它的安装也非常方便,一般Anaconda安装包中会自带。安装好以后直接输入jupyter notebook便可以在浏览器中使用。但是它默认只能在本地访问,如果想把它安装在服务器上,然后在本地远程访问,则需要进行如下配置:</div>
<h3>1. 登陆远程服务器</h3>
<h3>2. 生成配置文件</h3>
<div>
<div>$jupyter notebook --generate-config</div>
</div>
<div>&nbsp;</div>
<h3>3. 生成密码</h3>
<div>打开ipython,(在ipython环境下)创建一个密文的密码:</div>
<div>
<div>
<div>In [1]: from notebook.auth import passwd</div>
<div>In [2]: passwd()</div>
<div>Enter password:</div>
<div>Verify password:</div>
<div>Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'</div>
</div>
</div>
<div>&nbsp;</div>
<div>把生成的密文‘sha:ce…’复制下来</div>
<h3>4. 修改默认配置文件</h3>
<div>
<div>$vim ~/.jupyter/jupyter_notebook_config.py&nbsp;</div>
<div>进行如下修改:</div>
</div>
<div>
<div>
<div>c.NotebookApp.ip='*'</div>
<div>c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'</div>
<div>c.NotebookApp.open_browser = False</div>
<div>c.NotebookApp.port =8888 #随便指定一个端口</div>
</div>
</div>
<div>&nbsp;</div>
<h3>5. 启动jupyter notebook:</h3>
<div>
<div>$jupyter notebook</div>
</div>
<div>&nbsp;</div>
<h3>6. 远程访问</h3>
<div><a name="1027"></a>此时应该可以直接从本地浏览器直接访问<a href="http://address_of_remote:8888/">http://address_of_remote:8888</a>就可以看到jupyter的登陆界面。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong><span>7、前面的都做完了,在浏览器里访问,显示相应超时,,一直连接不上,原因:服务器的防火墙拦截了,在服务器上关掉防火墙就行了。</span></strong></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Linux中的防火墙有多种,一般指的iptables。</div>
<div>&nbsp;</div>
<div>1. Linux防火墙(Iptables)重启系统生效</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>开启: chkconfig iptables on</div>
<div>&nbsp;</div>
<div>关闭: chkconfig iptables off</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>2.Linux防火墙(Iptables) 即时生效,重启后失效</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>开启: service iptables start</div>
<div>&nbsp;</div>
<div>关闭: service iptables stop</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>3.其它linux防火墙,请自行参考说明文档。一般对于Linux下的服务都可以用以上命令执行开启和关闭操作,而防火墙通常都以服务形式运行,因此也算是一个通用的方法。</div>
<div><span><strong>8、这个方法不安全,可以在浏览器访问之前先建立一个ssh安全协议通道,做一个ip地址映射,这样就可以直接访问了</strong></span></div>
<h3>&nbsp;建立ssh通道</h3>
<div>如果登陆失败,则有可能是服务器防火墙设置的问题,此时最简单的方法是在本地建立一个ssh通道:&nbsp;</div>
<div>在本地终端中输入ssh username@address_of_remote -L127.0.0.1:1234:127.0.0.1:8888&nbsp;</div>
<div>便可以在localhost:1234直接访问远程的jupyter了。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>9、建立ssh通道的时候,如果出现</div>
<h1>The authenticity of host 192.168.0.xxx can't be established. 的问题</h1>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>用ssh登录一个机器(换过ip地址),提示输入yes后,屏幕不断出现y,只有按ctrl + c结束</div>
<div>&nbsp;</div>
<div>错误是:The authenticity of host 192.168.0.xxx can't be established.</div>
<div>&nbsp;</div>
<div>以前和同事碰到过这个问题,解决了,没有记录,这次又碰到了不知道怎么处理,还好有QQ聊天记录,查找到一下,找到解决方案:</div>
<div>&nbsp;</div>
<div>执行ssh&nbsp; -o StrictHostKeyChecking=no&nbsp; 192.168.0.xxx 就OK这里换成自己需要做映射的服务器的ip地址就行了。</div>

原地址:https://www.cnblogs.com/wwwhza/p/8821117.html

参考:https://blog.csdn.net/sinat_41525226/article/details/78909997

https://blog.csdn.net/qq_18293213/article/details/72910834

猜你喜欢

转载自blog.csdn.net/fyhuan/article/details/82630452