Я шукаю найкращий спосіб зателефонувати на віддалену команду через SSH. Я створюю "rpcall" користувача, генерую новий сертифікат і заповнюю дозволені_кейди. Забезпечте це трохи більше
from="ip",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty ssh-rsa ......
тепер користувач rpcall не може увійти до терміналу
ssh -l rpc 192.168.12.1
PTY allocation request failed on channel 0
але можна запустити будь-яку команду
ssh -l rpc 192.168.12.1 cat /etc/passwd
Чи є якесь рішення, я можу обмежити виконання команд лише одним сценарієм обробки? Наприклад /home/rpcall/bin/command.sh
Я налаштував bash shell для цього користувача та використовував сценарій обробки примусового запуску .bashrc, але я не знаю, як передавати параметри від ssh call.
.bashrc для користувача rpcall
/home/rpcall/bin/command.sh $params1 $params2
exit
ssh-дзвінок з іншої машини
ssh -l rpcall 192.168.12.1 "param1" "param2"
SSH_ORIGINAL_COMMAND
змінну середовища. Таким чином параметри можуть бути передані цій команді, вона просто повинна проаналізувати цю змінну середовища і виконати запитувану роботу.