如何利用windows本机调用Linux服务器,以及如何调用jupyter界面远程操控

其实这篇文章没必要存在,教程太多了

参考博客(1 2 3),如侵删

奈何网上的大神总是会漏掉一些凡人遇到的小问题

(1) 建议下载PuTTy for windows,从而建立与远程服务器的SSH连接

需要确认目标服务器的ip(或者网站地址) 端口号 以及用户名与密码

(2)搭建Python等环境,建议找一个好用的requirement

比如提前利用scp命令将自己要跑的,要复现的代码的requirement上传上去, 再用pip或者conda指令安装requirement的库
所以一个团队制作一个合格的requirement,确保涵盖大多需求是比较合理的
如何用scp将多个文件夹上传到服务器或下载回本地,参考博客(4

例如将我 的本地代码 E:/GAN 文件目录下所有的文件,上传到身份为 root 的远程服务器 1.1.1.1 的文件路径 home/me 上

scp -r E:/GAN root@1.1.1.1:/home/me/

或者带端口 2222 的服务器

scp -P 2222 E:/GAN root@1.1.1.1:/home/me/

(3)因为重点想实现远程跑jupyter,本地可视化,所以需要额外的步骤

为避免小白重进坑,此处借鉴博客(1 2 3)的步骤加以修改

1 jupyter notebook远程访问设置
conda activate abc	#激活虚拟环境[不在虚拟环境中可以省略此步骤]

pip install jupyter	#安装
jupyter notebook --generate-config	#生成配置文件

安装完成后,Jupyter会生成一个默认的配置文件。这个配置文件通常位于~/.jupyter/jupyter_notebook_config.json。

2 在服务器上生成加密密钥

为了安全地连接Jupyter Notebook,您需要生成一个加密密钥。首先,在终端输入python指令进行python环境,并依次执行:

from IPython.lib import passwd 
passwd()
2.1 如果出现如下错误,(我出现了)

在这里插入图片描述
则可能是您的python版本过高,可以换条指令:

from notebook.auth import passwd
passwd()

如果仍然出现报错(是的,我还是):
在这里插入图片描述
可以继续换指令(下面指令在python3.8中不报错):

from jupyter_server.auth import passwd
passwd()
这三条指令都会提示您输入和确认一个密码。这个密码将被用于加密Jupyter Notebook的连接(复制密文备用,如下图所示)。

在这里插入图片描述
输入 exit() 就可以退出python环境。

3 修改服务器配置文件

执行以下指令进入Jupyter的配置文件~/.jupyter/jupyter_notebook_config.json。

vim ~/.jupyter/jupyter_notebook_config.py

此外,进入这个py文件后, 可以看到如下的内容。
在这里插入图片描述
如果你没看到,可能是没生成设置文件。 请再次尝试

jupyter notebook --generate-config	#生成配置文件

linux系统服务器中可使用 :$ 进行索引定位到文件底部。
小白可以当光标到达最后一个字符位置后,按下小写字母o就可以换行并允许输入了。然后在这个最后面增加如下内容:

c.NotebookApp.ip='*'
c.NotebookApp.password = u'argon2:xxxxxxxxxxxxxxxxxxx'  # 先前备份的加密密钥
c.NotebookApp.port = 8888 # 随便设定一个端口
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True
c.NotebookApp.notebook_dir = '/project'  # 定义notebook的起始路径

这里一定要确认自己的加密秘钥, 以及 最后的启示路径, 因为团队中可能会分配各自的文件夹,所以这里最好给自己分配为自己的文件夹。后续方便本地调试jupyter。

4 回到本地的windows(其他也行),利用cmd建立与远程服务器的链接

在您的本地机器上打开命令提示符或终端。使用SSH命令连接到远程服务器。例如,如果远程服务器的IP地址是192.168.0.100,用户名是root,端口号是50001,那么可以使用以下命令:

ssh -p 50001 root@192.168.0.100 -L127.0.0.1:8889:127.0.0.1:8889

当然,如果服务器给你的是一个网址,也可以直接把上述的服务器ip改成你的服务器网址。

5 在服务器上使用jupyter

当然,如果你是重新启动了服务器, 先激活自己的环境(activate),进入(cd)自己的文件夹后,启动jupyter:

jupyter notebook --no-browser

服务器会输出:
在这里插入图片描述

6 在本地浏览器上远程访问jupyter

http://localhost:8889/tree

然后就会出现
在这里插入图片描述
输入你设置的密码,忘了可以重新设置(看第2步)

这个教程比较粗糙,但是实测了几台本地机器没漏步骤。

这里的端口你自己设置哈, 我觉得8888还不错。

最后的使用

后续的调用, 重复 4 5 6 步骤,先CMD连接,再服务器启动jupyter,最后本地输入网址,操作服务器运行jupyter。 相对方便

第4步如果不知道服务器的ip,就在服务器端输入 hostname -I

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值