例如,Ubuntu上的OpenSSH服务器可以响应ssh [username@]hostname [command]
,执行此单个[命令]和响应。
例如,
me@ubuntu:~$ ssh 127.0.0.1 ls
Desktop Documents Downloads Music Pictures Public Videos
me@ubuntu:~$
问题是:
还有一个问题是,如果后台命令处理程序不是标准shell,而是sshim之类的实现怎么办?
答案 0 :(得分:0)
paramiko.ServerInstance
实际上提供了一个实现钩子,使用此check_channel_exec_request
,您可以在本地调用命令并使用 channel 发送,recv或关闭。
check_channel_exec_request (频道,命令)
Determine if a shell command will be executed for the client.
If this method returns True, the channel should be connected
to the stdin, stdout, and stderr of the shell command.
The default implementation always returns `False`.
<强>参数:强>
退货:
True
如果此通道现在连接到执行命令的stdin,stdout和stderr False
如果命令不会被执行。