AWS上运行的Jupyter Notebook无法连接,如何不重启恢复以保留ML训练进度?
解决AWS Jupyter Notebook SSL证书未知错误(不中断训练内核)
方法1:SSH隧道绕过SSL验证(推荐)
- 本地终端执行端口转发命令,把远程Jupyter端口映射到本地,绕开浏览器SSL验证:
替换密钥路径、实例用户名和公网IP;若Jupyter用自定义端口,替换命令中的ssh -i "你的密钥文件.pem" -L 8888:localhost:8888 ec2-user@<实例公网IP>8888为对应端口。 - 本地浏览器访问
http://localhost:8888,输入Jupyter登录令牌(实例上执行jupyter notebook list可查看),即可直接连接运行中的内核,完全不影响训练进程。
方法2:实例本地终端操作内核
- SSH登录EC2实例后,执行
jupyter notebook list确认当前Notebook会话和令牌。 - 若仅需查看训练状态,可启动Jupyter控制台连接运行中内核:
内核ID可通过jupyter console --existing <内核ID>jupyter kernelspec list或查看/run/user/<UID>/jupyter/kernels/目录下的文件获取,直接在终端交互查看训练变量、进度。
方法3:临时刷新Jupyter证书(部分版本有效)
- 实例上生成临时自签名证书:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem - 找到Jupyter进程PID:
ps aux | grep jupyter - 发送SIGHUP信号让Jupyter重载证书配置:
kill -HUP <Jupyter_PID> - 浏览器导入新生成的
mycert.pem证书后刷新页面尝试连接。注意:此方法并非所有Jupyter版本都支持,若无效立即停止操作,避免干扰训练。
核心注意事项
- 操作前务必用
ps aux | grep <你的训练脚本名>确认训练进程存活,禁止执行jupyter notebook stop或重启实例。 - 训练完成后,建议配置合法SSL证书(如Let's Encrypt)避免后续问题。
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

