【保姆级教程】Linux服务器上使用密钥以及notebook进行Python代码调试、实验管理以及工程管理

0、前置条件

  • 一台搭载了Linux系统的服务器(无需图像界面,最好配置好密钥-全文使用密钥访问服务器而非密码,安全性高)
  • 一台搭载了Windows的PC以及浏览器
  • 连接服务器的操作软件(如PuTTY、MobeXterm、WinSCP)

一、服务器端配置:Linux Notebook

1、命令行安装以及配置notebook指令(最好保证notebook版本一致),windows直接用Anaconda安装

pip install --upgrade jupyter==1.0.0 -i https://pypi.douban.com/simple

2、配置notebook

jupyter notebook --generate-config //生成配置文件(注意文件生成位置在执行这个指令的位置)
ipython  //进入ipython 命令行模式
//设置密码
from notebook.auth import passwd
passwd() 
输入你的明文密码:如helloworld
// 保存好输出结果引号里面的密钥:Out[2]: 'sha1:xxxxxxxxxxxxxxxxx' 即sha1:xxxxxxxxxxxxxxxxx

3、修改Notebook配置文件(位于./jupyter/jupyter_notebook_config.py)

c.NotebookApp.ip='*' //如果使用notebook自带的远程工具使用方法,则必填
c.NotebookApp.password = u'sha1:xxxxxxxxxxxxxxxxx' // 刚才复制的那个密文,必填
c.NotebookApp.open_browser = False //选填
c.NotebookApp.port = 8888 //可自行指定一个端口, 默认访问时使用该端口,选填

/*notebook自带的远程工具使用方法:浏览器输入'服务器ip:8888'*/

二、连接PC和服务器:Windows & Linux Notebook

2.1 建议使用SSH端口映射连接(可支持多用户使用)

1、在远程服务器上,启动jupyter notebooks服务(每次需执行,不建议使用screen执行,如果忘记杀掉的话会长期占用内存)(注意多用户情况下注意提前分配好端口号,选取1024-65535之间的并且尚未使用的端口号即可)

conda activate env_name
jupyter notebook --no-browser --port=8889 //可以选择用于映射端口号

2、(示例不可直接运行)在本地终端中启动SSH:其中: -N 告诉SSH没有命令要被远程执行; -f 告诉SSH在后台执行; -L 是指定port forwarding的配置,远端端口是8889,本地的端口号的8888
(注意使用密钥连接,原理是端口映射即把本地的8888端口映射到服务器的8889端口,后台执行则关闭终端后不会中断映射通道)

ssh -L localhost:8889:localhost:8889 username@serverIP -N -f  //密码登录版本,一定要注意修改端口
ssh -L localhost:8889:localhost:8889 username@serverIP -i yourkeyfile -N -f //密钥登录版本
//-L 本机端口
//-f 后台启用,可以在本机直接执行命令,
//   无需另开新终端(暂时不知道杀死windows后台ssh的方法,
//   防止配置错误必须重启PC修改,因此不推荐使用-f)
//-N 不打开远程shell,处于等待状态,不跳到远程主机,还在主机上,只是搭好了隧道,桥搭好,不ssh上去

/*后台执行之后cmd没法ctrl+c正常退出,直接关闭终端即可。*/

3、浏览器访问端口进入

http://localhost:8888/

4、输入之前设置的明文密码
在这里插入图片描述

2.2 Windows密钥加载错误解决

将密钥移动到C:\Users\当前账户文件夹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值