ฉันกำลังมองหาวิธีที่ดีที่สุดในการเรียกคำสั่งระยะไกลผ่าน 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
.bashrc สำหรับผู้ใช้ rpcall
/home/rpcall/bin/command.sh $params1 $params2
exit
ssh โทรจากเครื่องอื่น
ssh -l rpcall 192.168.12.1 "param1" "param2"
SSH_ORIGINAL_COMMAND
ตัวแปรสภาพแวดล้อม วิธีนี้พารามิเตอร์สามารถส่งผ่านไปยังคำสั่งนั้นก็แค่ต้องแยกตัวแปรสภาพแวดล้อมที่และทำงานตามที่ร้องขอ