Sftp कमांड एक सबसिस्टम विकल्प (-s) का समर्थन करता है जो दूरस्थ उपयोगकर्ता को दूरस्थ sftp- सर्वर निष्पादन योग्य का चयन करने की अनुमति देता है, और इस तरह की प्रक्रिया में वैकल्पिक रूप से sudo में अपग्रेड करता है;
sftp -s "/usr/bin/sudo /usr/libexec/openssh/sftp-server" xxx.yyy.zzz.aaa
यह कमांड ssh क्लाइंट ऑप्शन को ~ / .ssh / config में प्यूरी और कस्टम पोर्ट और यूजर सेटिंग्स के पारदर्शी उपयोग की अनुमति देता है।
हालाँकि subsystem
यह sftp विशिष्ट प्रतीत होता है, और इसलिए यह config फाइल में सेट नहीं होता है और ऐसा प्रतीत होता है कि इसे sftp के लिए कमांड लाइन विकल्प के रूप में सेट किया जाना है।
हालाँकि कुछ उपकरण sftp इनवोकेशन को लपेटते हैं ताकि सबसिस्टम विकल्प को सेट करना असंभव हो, और इसलिए उपयोगकर्ता पहुंच के साथ अटक जाता है।
क्या कुछ कॉन्फ़िगरेशन विकल्प फ़ाइल है जिसे मैं आमतौर पर ओपनश sftp के लिए सेट करने के लिए उपयोग कर सकता हूं?
वहाँ कुछ विन्यास फ़ाइल है जिस तरह से प्रभावी करने के लिए gnome nautilus अपने फ़ाइल प्रबंधक एकीकरण के लिए sftp को आमंत्रित करता है?
अद्यतन संभव हैसी-लेकिन-कामकाज समाधान है ...
तो यह पता चला है कि कोई स्पष्ट विन्यास फ़ाइल नहीं है जो sftp विकल्पों के लिए उपयोग करेगी, इसलिए मैंने अपने पथ में इसे डालकर अपने चयनित मेजबानों के लिए विकल्प को स्पष्ट रूप से जोड़ने के लिए एक सामान्य आवरण स्क्रिप्ट को संशोधित किया;
#!/bin/bash
# Generic shell wrapper that performs an operation
OPERATION=/usr/bin/sftp
args=("$@")
#the final arg should contain a hostname of the form [user@]host[:path]
case "${args[@]: -1}" in
myserver.com)
exec $OPERATION -s "/usr/bin/sudo /usr/libexec/openssh/sftp-server" "$args"
;;
*)
exec $OPERATION "$args"
;;
esac
हालाँकि , आपके sudoers फ़ाइल के आधार पर, आमतौर पर sudo को चलाने के लिए एक tty की आवश्यकता होती है, इसलिए आपको ssh को "-t" विकल्प पास करना होगा, और अनुमान लगाना होगा कि क्या? ssh क्लाइंट कमांड के लिए कोई विन्यास विकल्प नहीं है जो कि ssh_config या ~ / .ssh / config फाइल में काम करता है। haha।
तो मैं एक और रैपर स्क्रिप्ट लिखता हूं कि प्रदान करने के लिए ...।
#!/bin/bash
# Generic shell wrapper that performs an operation
OPERATION=/usr/bin/ssh
args=("$@")
#locating the hostname is not so simple with ssh
exec $OPERATION -tt "$args"
हालाँकि, मुझे अब अपने ~ / बिन / ssh रैपर फ़ाइल का उपयोग करने के लिए sftp प्राप्त करने में समस्या हो रही है, क्योंकि यह sftp में हार्ड कोडित और एक विकल्प "-S" द्वारा नियंत्रित प्रतीत होता है