无法使用C++中的system()函数连接到ssh服务器



我正在尝试使用我编写的一个简单的C++程序连接到我学校的ssh服务器。我的windows计算机安装了OpenSSH客户端,我可以使用命令提示符建立连接。

以下是通过命令提示符的工作方式:

C:UsersUsername>ssh username@example.server.name
Password:
Last login: Sat Sep  5 15:20:44 2020 from 117.194.240.211
username@example:~$

我希望用我编写的一个简单的C++程序来复制这个动作。这是代码。

#include <iostream>
#include <cstring>
#include <stdlib.h>
using namespace std;
int main()
{
string hostIP;
string username;
string password;
cout << "Welcome to SSH Program" << endl;
cout << "----------------------" << endl;
cout << "nEnter host ip or name: ";
cin >> hostIP;
cout << "Enter username: ";
cin >> username;
cout << "nConnecting...n" << endl;
string composite = "ssh " + username + "@" + hostIP;
char command[100];
strcpy_s(command, composite.c_str());
system(command);
system("pause");
}

不幸的是,当我尝试运行这个程序时,我得到了以下输出:

Welcome to SSH Program
----------------------
Enter host ip or name: example.server.name
Enter username: username
Connecting...
'ssh' is not recognized as an internal or external command,
operable program or batch file.
Press any key to continue . . .

据我所知,只有当我的系统上没有安装OpenSSH客户端时,才会出现此消息。但这在命令提示符示例中得到了证明。

为什么会发生这种情况,有办法解决吗?

感谢所有对此问题发表评论并提供帮助的人。事实证明,这是我为之构建程序的平台的问题。该平台最初设置为x86,但一旦我将其更改为x64,一切都按预期运行。

相关内容

  • 没有找到相关文章

最新更新