【问题标题】:Telnet C++ or SSH Program on Launch启动时 Telnet C++ 或 SSH 程序
【发布时间】:2011-06-19 05:43:45
【问题描述】:

我想知道是否有人可以为我提供几个 c++ 函数,允许我通过 telnet 端口发送和接收数据。

我还听说我可以创建一个程序,并让它通过 SSH 运行,这将是首选,因为 SSH 的安全优势,那里有任何示例吗?

更新: 我想做的是创建一个控制台程序,用户可以通过 SSH 或 telnet 远程使用。我是一名 C++ 程序员。

更新 2:我知道我含糊其辞,我正在创建一个库存系统,我希望我们的员工可以通过 SSH 或 telnet 访问该系统。我将使用套接字,并且经常通过(telnet 或通过 ssh)向用户显示数据并接受来自它们的输入。我将不得不实现套接字,发送数据和接收我知道的数据,有这个库吗?

【问题讨论】:

  • Telnet 和 SSH 是协议。如果你想使用它们,你需要使用套接字(例如 Berkeley Sockets、Winsock 等)并遵循任一协议的握手协议。如果没有更多关于你想要什么的细节,这个问题就太模糊了。
  • 您的意思是您的用户将 Telnet 或 SSH 到服务器并在那里运行程序吗?
  • 根据您的编辑,创建可以从 telnet/ssh/rlogin/etc 运行的程序所需要做的就是在运行这些服务器的系统上创建一个控制台程序(大多数 Linux 发行版至少有 1 个默认配置)。通过 telnet 运行命令行程序与从机器本身的控制台运行它并没有什么特别之处。

标签: c++ ssh telnet


【解决方案1】:

我不太确定你在这里问什么。

您可以通过以下方式执行远程程序:

ssh <user>@<machine> "<command>"

(前提是您已准备好无密码的 pubkey 身份验证;否则会要求您输入密码/密码。第一次调用还需要用户输入,因为 SSH 想要验证远程机器的指纹。)

然后您可以通过通常的方式捕获该命令行的输出(相当于远程命令的输出,除非 ssh 本身出现错误)。

【讨论】:

    【解决方案2】:

    我真的不相信你想用你的手写代码来实现 telnet 和 SSH 协议!这对你来说太难了。

    我认为您想要做的是“远程运行命令”。是吗?

    如果是,那么您需要按照 DevSolar 的指示执行命令,但您需要生成 SSH 密钥生成器以安装它,这样它就不会在提示时要求输入密码。

    否则编写一个期望脚本。

    【讨论】:

    • 从您的编辑看来,您想创建一个基于控制台的应用程序,后端代码执行上述操作。那我猜你也得考虑用 ncurses 编程了。
    猜你喜欢
    • 1970-01-01
    • 2010-11-20
    • 2015-09-07
    • 2020-08-26
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    相关资源
    最近更新 更多