Python Paramiko 将 CTRL+C 发送到 ssh shell
Python Paramiko send CTRL+C to an ssh shell
我正在使用 Paramiko 调用 shell 以便通过 ssh 连接使用 CLI。此 CLI 的问题是,如果我不专门使用 CTRL+C 关闭它,则如果不重新启动我的系统,该程序将无法再次打开。
我试过以下命令:
SSH.send("^C\n")
SSH.send("\x003")
还有其他方法可以调用这些吗?同样,我使用 paramiko.SSHClient()
建立了 SSH 连接,然后使用 ssh.invoke_shell()
调用了 shell,现在我需要将 CTRL+C 发送到 shell 以关闭 shell(不是ssh连接)
第二个示例的方向正确,但格式不正确。你实际上在那里得到了一个 2 个字符的字符串。
SSH.send("\x03") 应该可以解决问题。
不过,我可能会用这个代替。
SSH.send(chr(3))
基于:
你可以 -
或者:在调用 client.exec_command() 时传递 get_pty=True。然后 client.close() 终止远程尾部。
或者:在调用 channel.exec_command() 之前执行 channel.get_pty()。然后 channel.close() 终止远程尾部。
我正在使用 Paramiko 调用 shell 以便通过 ssh 连接使用 CLI。此 CLI 的问题是,如果我不专门使用 CTRL+C 关闭它,则如果不重新启动我的系统,该程序将无法再次打开。
我试过以下命令:
SSH.send("^C\n")
SSH.send("\x003")
还有其他方法可以调用这些吗?同样,我使用 paramiko.SSHClient()
建立了 SSH 连接,然后使用 ssh.invoke_shell()
调用了 shell,现在我需要将 CTRL+C 发送到 shell 以关闭 shell(不是ssh连接)
第二个示例的方向正确,但格式不正确。你实际上在那里得到了一个 2 个字符的字符串。
SSH.send("\x03") 应该可以解决问题。
不过,我可能会用这个代替。
SSH.send(chr(3))
基于:
你可以 -
或者:在调用 client.exec_command() 时传递 get_pty=True。然后 client.close() 终止远程尾部。
或者:在调用 channel.exec_command() 之前执行 channel.get_pty()。然后 channel.close() 终止远程尾部。