如何从浏览器或Azure功能在远程计算机上调用Shell脚本
问题描述:
我在远程计算机上有一个shell文件,它将执行某些必需的操作。我可以从VM外部调用这个shell吗?如何从浏览器或Azure功能在远程计算机上调用Shell脚本
就像使用Azure函数或浏览器本身一样。
这是shell的快照。
答
根据您的需求,我建议你使用SSH
和执行命令连接到远程服务器。
我不确定您使用的是哪种语言。所以,我只是在这里为您提供java
示例代码。
您可以使用SSH
组件JCraft
进行远程连接和shell命令调用。
JSch jsch = new JSch();
String command = "/tmp/myscript.sh";
Session session = jsch.getSession(user, host, 22);
session.connect();
Channel channel = session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
channel.setInputStream(null);
((ChannelExec)channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) {
break;
}
System.out.print(new String(tmp, 0, i));
}
if (channel.isClosed()) {
if (channel.getExitStatus() == 0) {
System.out.println("Command executed successully.");
}
break;
}
}
channel.disconnect();
session.disconnect();
此外,你可以参考这个线程How do I run SSH commands on remote system using Java?。
希望它可以帮助你。任何关注,请随时让我知道。
嗨,现在有任何更新? –