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第三方库


热门话题
Java:字符串。RTL设备语言用标志“+”格式化,数字后加符号   java GAE作为桌面应用程序(Swing)的服务提供商   java将InputStream转换为FileInputStream不适用于Apache POI   java外部Voronoi库“网格”:什么是草图和处理?   重载重写的泛型方法java   java显示组织上设置的错误。springframework。验证。jsp中的错误对象   java一些Spring模型属性没有显示在我的JSP中   java无法编译Guava 23的SimpleTimeLimiter示例   java如何更改JTree中的“根”目录名?   java如何在安卓中对相对布局产生连锁反应?   java错误:org。冬眠例外SQLGrammarException:无法提取结果集,dateAccessed是未知列   如何使用java监听JSON文件更新   由抽象封闭类创建的匿名内部类能否通过反射确定实现类?