【问题标题】:Can Indy's telnet component browse for and download files?Indy 的 telnet 组件可以浏览和下载文件吗?
【发布时间】:2013-03-11 23:48:45
【问题描述】:

TIdTelnet (Indy10) 可以执行以下操作吗?

  • CD 到导演
  • LS 目录
  • 下载文件
  • 通过“安全外壳”登录?

我在许多问题中看到 TIdTelnet 非常专业,可能并不总是适合使用的组件。但是,作为参考,我需要为我的软件编写代码以使用的服务器似乎与流行的 SSH 客户端兼容。

据我从 Google 得知,我应该只需要将 TidTelnet 附加到 SSH 处理程序(但显然没有太多替代方案),那么 TidTelnet 应该可以在上面工作吗?

【问题讨论】:

  • 我认为这个问题可能更适合超级用户或 ServerFault?
  • 用Putty你可以使用Telnet,但你主要用它来连接SSH服务器,因为连接Telnet服务器你有内置的telnet windows客户端。
  • Putty 的东西离题了,@Marteljn,但 Indy 部分在这里很好。 Putty 的东西与 Indy 支持什么的问题无关,所以我简单地删除了它。
  • 以下是我提出的问题的概述: 我提到 puTTy 的原因是它声称使用 Telnet。但是我发现一些 SO 条目推荐使用 Indy TCP 而不是 TidTelnet 进行 shell 访问,因为大多数服务器显然是?实际上没有使用 Telnet 进行 shell ......?由于我的 shell 经验为零,我无法将这些语句放在上下文中......我只是想知道如果我也可以使用 puTTy(声称是 Telnet)在服务器上的 shell 中执行必要的命令他们在 TidTelnet 中。 (然后我具体说明了我最感兴趣的命令。)
  • 最初的接近投票给出的原因是它跑题了。不仔细阅读它的人甚至可能同意这个原因。我编辑了问题以删除离题部分并坚持编程问题。我希望随后的投票给出了不同的关闭理由,但除非选民自己解释,否则我们无法判断。

标签: delphi telnet indy


【解决方案1】:

没有。 Telnet 绝不是一种文件传输协议。

它在某些仍支持 telnet 的设备上为您提供未加密的远程 shell。大多数运行 Linux 等的真实主机只提供带有 ssh 的远程 shell。

使用 ssh+sftp 或 FTP 或其他协议(如 http+WebDAV)浏览远程文件系统

Telnet 没有文件传输功能。你为什么不自己看一个 TidTelnet,代码不难阅读。

Indy 库有很多组件,我无法猜测您为何如此关注 Telnet。

【讨论】:

  • 1) 因为客户已经声明只有 shell(后来被澄清为 SSH),没有 FTP 或 Web 访问。 2) 判断什么是 Delphi 的最佳 telnet/SSH/shell 解决方案并不是那么简单。我猜是基于 Google 的 TidTelnet。要让它与 SSH 一起工作,您需要从第 3 方购买以连接其 IOHandler。 (所以据我所知,TidTelnet 也可用于 SSH) 3) SSH 客户端软件似乎支持下载。我在 SuperUser 上询问,确认了我在 Google 上搜索的内容(至少到目前为止,超级用户的答案是它不需要运行其他服务)
  • 如果您必须使用 SSH+SFTP 我不知道有任何免费的 Delphi 代码解决方案,但我使用了安全黑匣子。它不是开源或免费的,但它很好。
【解决方案2】:

Telnet 本身并不进行文件传输,但您可以通过 telnet 运行 x、y 或 zmodem 之类的东西来传输文件:

xmodem -s passwords.txt

虽然它不是很有用。

  • 要查找文件,您必须手动解析 ls 的结果。
  • 您首先需要禁用 telnet 连接的转义命令;否则,如果文件中包含错误的字符,它将破坏您的连接。 :)
  • 都是未加密的

只使用用于处理文件的协议可能是一个更好的主意:

因此,总而言之,Telnet 可能不是您要在此处使用的协议。

【讨论】:

  • 感谢您的澄清。我有 SSH。在我意识到 SSH 显然不仅仅是带有加密的 Telnet 之后,我不久前就停止谈论 Telnet。 (当然,如果想使用 Indy 进行 SSH,看来您必须将 TidTelnet 与 3rd 方 IOHandler 一起使用,但也许我读错了。)从 cmets here,我意识到我可能还应该有 SFTP 或 SCP 或类似的如果我有 SSH,那么我想我可能误解了客户端。 (当我问是否有其他选择时,它说它只是 SSH。)
猜你喜欢
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2017-10-02
  • 1970-01-01
  • 2020-03-17
相关资源
最近更新 更多