我正在寻找通过 SSH 调用远程命令的最佳方式。我创建用户“rpcall”,生成新证书并填写authorized_keys。用它多一点保护它
from="ip",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty ssh-rsa ......
Run Code Online (Sandbox Code Playgroud)
现在用户 rpcall 无法登录到终端
ssh -l rpc 192.168.12.1
PTY allocation request failed on channel 0
Run Code Online (Sandbox Code Playgroud)
但可以运行任何命令
ssh -l rpc 192.168.12.1 cat /etc/passwd
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案可以将命令执行限制为一个处理脚本?例如/home/rpcall/bin/command.sh
我为这个用户设置了 bash shell 并使用 .bashrc 强制运行处理脚本,但我不知道如何从 ssh 调用传递参数。
.bashrc 用户 rpcall
/home/rpcall/bin/command.sh $params1 $params2
exit
Run Code Online (Sandbox Code Playgroud)
来自其他机器的 ssh 调用
ssh -l rpcall 192.168.12.1 "param1" "param2"
Run Code Online (Sandbox Code Playgroud)