SSH सर्वर से जुड़ने का सामान्य तरीका है ssh username@ip_address
। लेकिन एक उपयोगकर्ता केवल रिमोट मशीन पर एक कार्यक्रम चलाना चाह सकता है। तो कार्यक्रम का नाम सामान्य तर्क के बाद है जो है ssh username@ip_address <program_name>
। उदाहरण के लिए, ssh username@ip_address ls
। यह तर्क इंटरैक्टिव कार्यक्रमों को छोड़कर ठीक है (जो उपयोगकर्ता इनपुट को स्वीकार करने के साथ-साथ आउटपुट भी प्रदान करता है) उदा top
। आउटपुट है
अवधि पर्यावरण चर सेट नहीं है।
जिसका अर्थ है नहीं (छद्म-) टर्मिनल sshd और शीर्ष कार्यक्रमों के बीच संलग्न है। समाधान यह है कि तर्क को जोड़ा जाए -t
जहां अब पूरा कमांड बन जाता है ssh -t username@ip_address top
।
मेरा प्रश्न यह है कि डिफ़ॉल्ट रूप से sshd क्यों नहीं किया जा सकता है, गैर-संवादात्मक कार्यक्रमों के साथ संवाद करने के लिए एक छद्म टर्मिनल का भी उपयोग करें ताकि संवादात्मक कार्यक्रमों के लिए -t
तर्क जोड़ने की आवश्यकता न हो ?
RequestTTY yes
(या force
) कर सकते हैं ।
top
बैच मोड में भी चला सकते हैं।