मैं 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
मैंने इस उपयोगकर्ता के लिए बैश शेल सेटअप किया है और उपयोग कर रहा है।
उपयोगकर्ता rpcall के लिए .bashrc
/home/rpcall/bin/command.sh $params1 $params2
exit
अन्य मशीन से ssh कॉल
ssh -l rpcall 192.168.12.1 "param1" "param2"
SSH_ORIGINAL_COMMAND
पर्यावरण चर के माध्यम से मापदंडों का उपयोग करने में सक्षम है । इस तरह से मापदंडों को उस कमांड में पारित किया जा सकता है, इसके लिए बस उस पर्यावरण चर को पार्स करने और अनुरोधित कार्य करने की आवश्यकता है।