如何通过SSH自动运行单个程序?

时间:2015-05-26 15:24:45

标签: ssh

有没有办法禁止用户的交互式shell登录而是运行预定义的程序?

在我的情况下,我在服务器上编写了一个计算到特定时间的程序。我想创建一个没有交互式shell但可以登录以观看此程序的用户

我不确定问题是否清楚?如果你知道这些telnet电影,你可能会理解我想要达到的目标。

-

也许一个例子有帮助。如果我有以下C-Program

#include <stdio.h>
#include <time.h>

int main ()
{
  time_t rawtime;
  while(1){
      time ( &rawtime );
      printf ( "\rCurrent timestamp: %ld", rawtime );
  }
  return 0;
}

我希望有一个人可以在没有密码的情况下登录来观看这个程序的输出,但是不能做任何事情。

1 个答案:

答案 0 :(得分:0)

可行的目标和方法是:  1.运行程序时,将其输出重定向到某个文件

  1. 使用“强制命令”设置ssh帐户。有关详细信息,请查看ssh手册。基本上,您要为该帐户设置pub-key身份验证,以便不需要密码,并在登录后指定允许的“自动运行”命令。在您的情况下,该命令将类似于“tail -f the_log_file”