使用本地Mac应用程序在远程Linux计算机上执行SSH命令。 (对象- C)

我有一个用Xcode编写的Mac Native应用程序。 我想在远程服务器上使用该应用程序执行一些SSH命令,并将结果返回给用户。

是否有任何图书馆/框架存在? 那可能吗?

Solutions Collecting From Web of "使用本地Mac应用程序在远程Linux计算机上执行SSH命令。 (对象- C)"

您将需要使用NSTask类执行ssh命令。

下面的代码是根据这个问题的答案改编的。

 NSTask *task; task = [[NSTask alloc] init]; [task setLaunchPath: @"/usr/bin/ssh"]; // Tell the task to execute the ssh command [task setArguments: [NSArray arrayWithObjects: @"<user>:<hostname>", @"<command>"]]; // Set the arguments for ssh to contain only your command. If other configuration is necessary, see the ssh(1) man page. NSPipe *pipe; pipe = [NSPipe pipe]; [task setStandardOutput: pipe]; NSFileHandle *file; file = [pipe fileHandleForReading]; // This file handle is a reference to the output of the ssh command [task launch]; NSData *data; data = [file readDataToEndOfFile]; NSString *string; string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding]; // This string now contains the entire output of the ssh command.