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应用程序登录MySql   JavaGSON图形适配器和运行时适配器   java我可以在日期验证器程序的focusLost()中调用focusgoven()吗?   使用InMemoryTestContainerFactory时为JerseyTest设置baseUrl   java为什么通过安卓应用程序在facebook好友墙上发帖返回错误?   javajavafx:画一个摆动的低蚀刻边框可能吗?   调整大小过程中发生java OpenImaj OutOfMemoryError   java如何将结果集的行存储到HASHMAP中   在java库中使用依赖项注入好吗?   多线程java同步多线程问题   jdbc如何编写一个java应用程序,将一个sql查询和一个数字作为输入并启动它   java为什么不支持运行时。freeMemory()仅在创建大型对象时更改?   JaxB从XML到Java类的自动解析   JavaSpring表单与html表单   java无法使用DefaultHttpClient发送大文件