远程访问Windows电脑上的jupyter、ssh连接电脑、scp跨设备拷贝文件

jupyter 设置

假定你已经安装好了jupyter,如果没有自行百度解决。

检查是否有安装jupyter notebook, 终端输入jupyter notebook,如果报错就是没有啦

默认情况下,jupyter在本地运行于127.0.0.1:8888,并且只能从localhost访问。
设置 jupyter 远程访问的官方指南在这里

1. 设置jupyter运行的ip、端口和远程

默认情况,你的电脑上没有配置文件,需要执行下面的命令生成配置文件,在cmd中运行

jupyter notebook --generate-config

会出现下面的结果,提示生成的文件的位置

Writing default config to: C:\Users\Administrator\.jupyter\jupyter_notebook_config.py

找到对应的文件位置,在 jupyter_notebook_config.py 中找到下面的行,取消注释并修改。(不想去找的话,你也可以直接复制到最前面去

c.NotebookApp.ip='*'       #在所有的网卡接口上开启服务
# c.NotebookApp.password = u'sha:ce...使用密文登陆需要设置,这里先不管'
c.NotebookApp.port = 8888 #可自行指定一个端口, 访问时使用该端口1234
c.NotebookApp.allow_remote_access = True  #允许远程
c.NotebookApp.notebook_dir='C:\jupyter' # 指定你jupyter打开的文件夹,需要自己新建一个文件夹,不然它自动的打开的文件夹会因为太多了,会出现卡顿现象

2. 设置jupyter的登陆密码

从 jupyter notebook 5.0 版本开始,提供了一个命令来设置密码:jupyter notebook password,生成的密码存储在 jupyter_notebook_config.json。

PS C:\Users\Administrator> jupyter notebook password
Enter password: (这里不会显示出你输入的密码)
Verify password:
[NotebookPasswordApp] Wrote hashed password to C:\Users\Administrator\.jupyter\jupyter_notebook_config.json

3 防火墙放行8888端口(不能访问才做)

一般情况,你上面设置好了之后,第一次行jupyter notebook会出现防火墙提示,你放行就行。如果没有,那么此时你再去防火墙里面新建一个规制

规则如下(各选项内容如下)

名称	组	配置文件	已启用	操作	替代	程序	本地地址	远程地址	协议	本地端口	远程端口	授权的用户	授权的计算机	授权的本地主体	本地用户所有者	应用程序包	
自定义开放		所有	是	允许	否	任何	任何	任何	TCP	8888, 9999	任何	任何	任何	任何	任何	任何	

至此jupyter的设置结束,你可以像往常一样用 jupyter notebook启动,它自动弹出网站页面(这个页面可以设置为不弹出,但是我并没有这样做),你手动关闭这个页面,通过ip:port访问,例如我局域网ip是172.21.146.211,通过输入172.21.146.211:8888地址访问到jupyter,你可以在同局域网下的任何一台电脑访问到自己jupyter
在这里插入图片描述

使用ssh链接window(可以不弄,需要使用传文件才弄)

上面的做完之后,虽然能够远程正常的操作jupyter,但是如果需要上传文件,则需要按照下面的进行操作。

安装OpenSSH服务

查了一下,Windows 上其实也是有 SSH 服务器的,只不过默认是没有装的,这里只需要安装一个 OpenSSH 服务器就好了。

方式一:Win10应用界面安装

Win10 的话,就在设置里面可以安装,从开始菜单打开“设置”,然后选择应用和功能,这里就有一个“管理可选功能”的选项。

在这里插入图片描述
点击之后便可以看到一个可选功能,选择 OpenSSH 服务器即可,一般情况下是没有安装的。如果没有安装的话它会提示一个安装按钮,这里我已经安装好了,就提示了一个卸载按钮。
OK,有了它,直接点击安装即可完成 OpenSSH 服务器的安装。

方式二:PowerShell安装

当然如果你是想批量部署 Windows 服务器的话,当然是推荐使用 PowerShell 来自动化部署了。
首先需要用管理员身份启动 PowerShell,使用如下命令看一下,要确保 OpenSSH 可用于安装:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

输出应该是类似的结果:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然后使用 PowerShell 安装服务器即可:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

输出结果类似:

Path          :
Online        : True
RestartNeeded : False

这样也可以完成 OpenSSH 的安装。
安装完成之后,就需要进行一些初始化配置了,还是以管理员身份,使用 PowerShell 执行即可。

开启 SSHD 服务:

Start-Service sshd

然后设置服务的自动启动:

Set-Service -Name sshd -StartupType 'Automatic'

最后确认一下防火墙是否是放开的:

Get-NetFirewallRule -Name *ssh*

如果是放开的,那么结果会提示 OpenSSH-Server-In-TCP这个状态是 enabled。
好了,完成如上操作之后我们就可以使用 SSH 来连接我们的 Windows 服务器了。

shell连接Windows

连接非常简单了,用户名密码就是 Windows 的用户名和密码,使用 IP 地址链接即可。
b比如我的Windows用户名:Administrator,密码是:XXXXXXX,IP是10.172.134.88

ssh user@10.172.134.88

然后输入密码,就连接成功了,和 Linux 的是一样的。

传文件

用xftp上传

自己去百度教程吧

用scp命令跨设备拷贝

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。

先说下常用两种的情况,其它的情况请自行百度

两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。

在A服务器上操作,将B服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下,命令为:

scp -r root@43.224.34.73:/home/lk /root

在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为:

scp -r /root/lk root@43.224.34.73:/home/lk/cpfile。

scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入。

如果需要复制全部文件,可以考虑使用通用匹配*来拷贝

posted @ 2022-02-20 07:58  喝茶看猴戏  阅读(177)  评论(0)    收藏  举报