เห็นได้ชัดว่าการใช้ Nautilus เป็นบัญชีรูทท้องถิ่นของคุณ (ด้วย sudo, gksu ฯลฯ ) จะไม่ให้สิทธิ์เข้าถึงรูทบนเซิร์ฟเวอร์
ปัญหาคือเซิร์ฟเวอร์ SFTP ภายใน OpenSSH (ซึ่งเป็นสิ่งที่ Nautilus เชื่อมต่ออยู่) ไม่รองรับคำสั่งเช่นsudo
- ไม่ใช่สภาพแวดล้อมของเชลล์ สิ่งที่คุณขอให้ง่ายไม่สามารถทำได้ผ่านกลไกมาตรฐาน
อย่างไรก็ตามคุณไม่ได้ไม่มีตัวเลือก ฉันไม่แน่ใจว่าความคุ้นเคยกับ SSH ของคุณเป็นอย่างไร แต่คุณสามารถใช้พอร์ตทันเดอร์ผ่านการเชื่อมต่อเพื่อให้คุณสามารถเชื่อมต่อได้ตามปกติให้รันเซิร์ฟเวอร์ FTP อย่างง่ายเพื่อรูทและสร้างอุโมงค์ทั้งหมดที่กลับสู่คอมพิวเตอร์ของคุณผ่าน SSH ฟังดูน่ากลัว แต่ก็ค่อนข้างง่าย
บนเซิร์ฟเวอร์ให้รัน:
# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib
# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib
จากคอมพิวเตอร์ของคุณเพียงใช้คำสั่ง SSH สั้น ๆ
# If you installed with pip
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib -i localhost -w -p 2121 -r 21212-21212 -d /"
# If you installed with apt-get (and pyftpdlib is pre-1.3, true in 13.10)
ssh -tL localhost:2121:localhost:2121 -L localhost:21212:localhost:21212 user@server "sudo python -m pyftpdlib.ftpserver -i localhost -w -p 2121 -r 21212-21212 -d /"
และจากนั้นใน Nautilus (บนคอมพิวเตอร์ของคุณ) ftp://localhost:2121
เชื่อมต่อกับ ความมหัศจรรย์ของ SSH จะส่งต่อไปยังเซิร์ฟเวอร์ FTP ที่ทำงานในฐานะรูท
มีโพรโทคอลอื่น ๆ (ฉันใช้เวลาในขณะที่มองหาสิ่งที่ดีกว่า) แต่ FTP เป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งานขอบคุณมากpyftpdlib
ๆ คุณสามารถทำสิ่งที่คล้ายกันกับ webdav และอื่น ๆ ฉันแน่ใจว่า ... มันจะเป็นการแฮ็คมากขึ้น