WinSCP:当前 SFTP-3 会话不支持您请求的命令。可以打开单独的 shell 会话来处理命令
Posted
技术标签:
【中文标题】WinSCP:当前 SFTP-3 会话不支持您请求的命令。可以打开单独的 shell 会话来处理命令【英文标题】:WinSCP: Current SFTP-3 session does not support command you request. Separate shell session may be opened to process the command 【发布时间】:2012-08-03 21:32:28 【问题描述】:我正在使用 WinSCP 与仅支持 SFTP 且不允许 SSH 访问的远程服务器交互。
我的交互涉及移动/删除某个目录中的文件子集(由文件名标识)。
为了简化这一点,我通常会同步 [ Remote -> Local ],使用 cygwin 命令行在本地删除文件(这样我可以指定文件名列表而不是在 GUI 中选择文件),然后同步 [ Local -> Remote ] 将删除推送到远程。
但是,现在,我想进一步简化流程,以便将其交给运营人员。我去看了,很高兴发现 WinSCP 支持“命令”。
如果我可以在 WinSCP 的“指挥官”视图底部的“命令”字段中输入类似的内容,那就太好了:
get queue-queue-from-DLQ-ID-69703273-db51-11e1-ba9f-005056010165 \
queue-queue-from-DLQ-ID-3d64697a-db51-11e1-b86e-005056010166 \
queue-queue-from-DLQ-ID-76fdb365-db50-11e1-b78d-005056010164 \
queue-queue-from-DLQ-ID-76ed3836-db50-11e1-ba9f-005056010165
但是当我在“命令”字段中输入这个时,我收到以下错误:
当前 SFTP-3 会话不支持您请求的命令。可以打开单独的 shell 会话来处理命令。是否要打开单独的 shell 会话?
当我点击确定时,我收到以下错误:
跳过启动消息时出错。您的 shell 可能与应用程序不兼容(建议使用 BASH)。
后一种可能是因为不支持SSH。
但我的问题是,既然get
是一个 SFTP 命令,为什么我会收到第一个错误? WinSCP 本身不是在幕后使用该命令来支持 GUI 的“复制到本地”操作吗?
如何配置 WinSCP 或 Linux 机器,以便执行上面显示的操作?
【问题讨论】:
【参考方案1】:我想这回答了我的问题:http://winscp.net/eng/docs/remote_command
显然,只有 SCP 支持“命令”功能。
我想知道为什么 WinSCP 不能为 sftp 交互式会话期间通常支持的 SFTP 操作公开命令行界面。
【讨论】:
【参考方案2】:您可以使用 WinSCP 命令行脚本界面来运行get
命令。
https://winscp.net/eng/docs/scripting
即使是 SFTP 协议也支持“命令”功能(远程命令执行)。但是此功能在远程服务器上执行命令。您不能使用此功能来自动化 WinSCP。并且没有可以轻松用于下载文件的远程命令。 见https://winscp.net/eng/docs/remote_command
【讨论】:
以上是关于WinSCP:当前 SFTP-3 会话不支持您请求的命令。可以打开单独的 shell 会话来处理命令的主要内容,如果未能解决你的问题,请参考以下文章