-5

我有一个要求,我希望我的 C++ 程序的用户能够在特定机器上执行无密码“ssh”,但同一用户不应该能够通过普通终端/shell 在同一台机器上执行 ssh。

4

3 回答 3

1

使用在不同 UID 下执行的代理程序(允许 ssh 到您的远程主机),并将任何来自您的真实程序的请求转发到代理。

于 2013-01-14T08:40:53.793 回答
0

在您的程序中硬编码 SSH 密码(可能有点混淆,尽管这并没有多大帮助)。

或者,使用带有密码的SSH 密钥,并在程序中对密钥的密码(与 Unix 密码不同)进行硬编码(这样可以让您获得更多控制权)。

你确定你不能忍受用户在每个会话开始时(例如早上)输入一次 SSH 密钥密码吗?每个进一步的 ssh 请求都不需要密码。

于 2013-01-14T07:59:52.073 回答
0
Match User stack
    ForceCommand exectute_me.sh

假设您的用户名是stack. 在这种情况下,将上述行放入sshd_config. 因此,如果此用户 ( stack) 尝试通过 登录服务器ssh,则调用的脚本execute_me.sh将被执行。

如果你能在 中为这个用户写一些特定的条件execute_me.sh,我想你可以对这个用户做你想做的事。

于 2013-01-14T09:38:58.957 回答