SSH内核

sshkernel的Python项目详细描述


ssh内核

ssh内核是一个jupyter内核,专门用于远程执行命令 使用paramikossh客户端。

主要要求

  • Python3.5+
  • iPython 7.0+

安装

pip install -U sshkernel
python -m sshkernel install [--user|--sys-prefix]
# Type `python -m sshkernel install --help` for more information.

要升级:

pip install --upgrade sshkernel

要卸载:

jupyter kernelspec remove ssh
pip uninstall sshkernel

开始

使用ssh内核的基本示例。

配置

ssh内核从~/.ssh/config文件获取配置数据以连接服务器。

可能的关键字如下:

  • 主机名
  • 用户
  • 端口
  • 标识文件
  • 货运代理

关于私钥的说明

  • 由于~/.ssh/中的私钥文件是可发现的,因此不必指定IdentityFile
  • 如果使用ED25519密钥,请使用或转换为旧的PEM格式
    • 例如ssh-keygen -m PEM -t ed25519 ...
    • 这是因为paramiko库不支持最新格式“rfc4716”

配置示例

示例1:

[~/.ssh/config]
Host myserver
  HostName myserver.example.com
  User admin
  Port 2222
  IdentityFile ~/.ssh/id_rsa_myserver
  ForwardAgent yes

Host *
  User ubuntu

示例2:

[~/.ssh/config]
Host another-server
  HostName 192.0.2.1

最小示例:

[~/.ssh/config]

# If you specify a FQDN / IP address, same login user, and discoverable private key,
# no configuration needed

另请参见上面的详细教程。

参数化运行

examples/parameterized-notebook

限制

  • 由于jupyter笔记本对处理stdin有限制, 您可能需要更改一些服务器配置和命令,以避免interactive input
    • 例如,使用公钥身份验证而不是密码,为sudo启用nopasswd,使用expect
  • 一些shell变量不同于普通的交互式shell
    • 例如$?$$

许可证

此软件是根据修改后的BSD许可证的条款发布的。

^来自wikimedia commons的{a5}在CC BY 3.0下获得许可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型