【问题标题】:How to retain the session with paramiko如何保留与 paramiko 的会话
【发布时间】:2015-07-11 13:40:32
【问题描述】:

我正在尝试做这样的事情: 我有一个通过 paramiko 连接的 ssh 会话。现在我想发出依赖于先前命令的命令。

例如;我首先发出“cd ~/my_folder”,然后发出“ls”,因为每个命令的 ssh 会话都是独立的,所以我的第一个命令不会影响第二个命令。

如何跨多个命令维护会话?我使用 ssh.exec_command() 函数来发出命令。

我知道我可以做类似的事情, ssh.exec_command('cd ~/my_folder; ls') 但是,让我们假设我不能在我的环境中这样做。

【问题讨论】:

  • 发布您的代码。你试过什么?使用 paramiko,您打开然后关闭一个 ssh 会话,似乎您可以在关闭会话之前传递多个 shell 命令。

标签: linux shell session ssh paramiko


【解决方案1】:

您可以使用SSHClient.invoke_shell 来启动交互式shell。您可以将提示设置为一些易于识别的值,然后发送命令并扫描接收到的数据以查找提示以划分返回的数据。

另一种选择是使用pexpectpxssh 模块,它为您完成了一些繁重的工作。

【讨论】:

    猜你喜欢
    • 2010-12-27
    • 2017-07-01
    • 2016-07-29
    • 2021-12-12
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    相关资源
    最近更新 更多