远程访问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的时候密码都不用输入。
如果需要复制全部文件,可以考虑使用通用匹配*来拷贝
本文来自博客园,作者:喝茶看猴戏,转载请注明原文链接:https://www.cnblogs.com/zdwzdwzdw/p/15914669.html

浙公网安备 33010602011771号