多个用户使用脚本通过无密码SSH访问远程服务器

我目前正在build立一个绑定到Active Directory中的Linux机器。 这个盒子将允许用户使用他们的AD用户名和密码进行SSH连接以收集信息(框A)。 问题是我试图在/etc/bash.bashrc中创build一个函数,所以用户所要做的就是键入“get_info”,例如,函数将SSH连接到远程机器(Box B)运行一个命令并输出信息回到用户。

这个问题是,我已经生成了框A的RSA密钥,将其添加到框B authorized_keys,它工作正常。 我遇到的问题是,如何为当前用户和任何login到框A的新用户设置一次。

有没有比我目前做的更好的方法。 基本上我只需要连接到远程盒子,运行一个命令,输出信息返回给用户,就是这样。 我怎样才能允许新用户通过脚本连接到远程盒,而不必为他们生成RSA密钥。

get_info函数将被提供一个值“get_info 012345”并返回结果。

需要什么:

  • 用户共享密钥
  • 在服务器上创build通用脚本
  • 在你的SSHconfiguration限制用户特定的命令:

    命令=“/ bin / myscript.sh”,无端口转发,no-X11转发,无代理转发,no-pty ssh-dss AAAAB3 …. o9M9qz4xqGCqGXoJw =用户

  • 在本地文件夹或其主文件夹中创build脚本,执行ssh命令到远程服务器,在服务器上执行脚本,然后输出

  • 如果您需要input远程会话,您可以运行您的本地脚本

    ./local.sh 01234

其中执行:

ssh user@remote '/bin/myscript.sh $1' 

它被解释为

 ssh user@remote '/bin/myscript.sh 01234 

为什么不改变/etc/bash.bashrc ,为什么不为本地主机上的所有用户创build一个程序(可能是用bash编写的),位于标准PATH中。 这个程序可以调用带有标志的ssh来指向本地系统上的公用私钥(例如,你可以把它放在/ etc或/ etc / opt / somewhere中)。 远程系统将有一个包含公用密钥文件的帐户,并进行修改(请参阅ssh手册页),以便任何使用公钥的人都只能执行一个命令(即您的信息命令)。