Akses folder dengan hak akses sudo melalui Nautilius-Connect to remote server

9

Saya perlu mengakses /var/logsfolder & banyak folder seperti itu di server jarak jauh saya dari nautilus, menggunakan "Sambungkan ke server" melalui ssh. Saya menghindari login root & telah menonaktifkannya. Saya ingin menggunakan sudosebagai gantinya, sama seperti saya melakukannya dengan sesi SSH di terminal. Bagaimana saya bisa menggunakan nautilus sudodi server jauh untuk mendapatkan akses? (Login root dinonaktifkan di server)

Jika bukan nautilus itu sendiri, adakah alternatif yang dapat membantu menyelesaikan ini?

Rajat Gupta
sumber
Untuk semua downvoters yang terhormat .. & mereka yang menandai ini sebagai duplikat .. ini adalah pertanyaan yang berbeda. Saya perlu mengakses file / folder pada mesin yang jauh sebagai sudoer dari mesin itu bukan pada mesin klien.
Rajat Gupta
Bisakah Anda lebih spesifik tentang kesalahan Anda?
Seth
Agak pertanyaan konyol. Anda mengatakan bahwa Anda tidak bisa mendapatkan akses root karena Anda ... menonaktifkan akses root. Aktifkan kembali.
psusi
@psusi: Tidak, saya tidak menuntut akses root .. Saya menjadi sudoer pada mesin jarak jauh ingin mengakses folder dengan sudo privelges melalui nautilus (atau apa pun sebagai alternatif) .. IMHO itu tidak berarti saya ingin akses root, atau apakah itu
Rajat Gupta
Ya, sudoartinya lakukan ini sebagai super-user (root). Apakah Anda mengatakan bahwa Anda dapat sudomenggunakan server secara manual, Anda hanya perlu meminta nautilus untuk menggunakannya saat terhubung ke server?
psusi

Jawaban:

6

Jelas menjalankan Nautilus sebagai akun root lokal Anda (dengan sudo, gksu, dll) tidak akan memberi Anda akses root di server.

Masalahnya adalah bahwa server SFTP di dalam OpenSSH (yang terhubung dengan Nautilus) tidak mendukung perintah seperti sudo- ini bukan lingkungan shell. Apa yang Anda minta sederhana tidak mungkin melalui mekanisme standar.

Namun Anda bukan tanpa opsi. Saya tidak yakin seberapa akrab dengan SSH Anda, tetapi Anda dapat tunnel port kembali melalui koneksi sehingga Anda dapat terhubung secara normal, jalankan server FTP sederhana sebagai root dan tunnel semua itu kembali ke komputer Anda melalui SSH. Kedengarannya mengerikan tetapi cukup sederhana.

Di server, jalankan:

# newer Ubuntu installs:
sudo apt-get install python-pyftpdlib

# older Ubuntu installs
sudo apt-get install python-pip
sudo pip install pyftpdlib

Kemudian dari komputer Anda, jalankan perintah SSH pendek:

# 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 /"

Dan kemudian di Nautilus (di komputer Anda), terhubung ke ftp://localhost:2121. Keajaiban SSH akan meneruskannya ke server FTP yang berjalan sebagai root.

Ada protokol lain (saya sudah menghabiskan waktu mencari yang lebih baik) tetapi FTP adalah yang termudah untuk bangun dan berjalan berkat sebagian besar pyftpdlib. Anda dapat melakukan hal serupa dengan webdav et al, saya yakin ... Ini akan menjadi jauh lebih banyak peretasan.

Oli
sumber
terima kasih..coba tapi katanya: /usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executedsambil mengautentikasi ke server.
Rajat Gupta
Menyebalkan sekali. Dalam versi pyftpdlib yang terinstal apt-get, sepertinya Anda memerlukan perintah yang sedikit berbeda:sudo python -m pyftpdlib.ftpserver ...
Oli
pyftpdlib.ftpserver module is deprecatedIni yang Anda dapatkan saat menggunakan apt-get (setidaknya pada 14,04). Anda harus memilih cara pip
balping
2

Jika bukan nautilus itu sendiri, adakah alternatif yang dapat membantu menyelesaikan ini?

Sudahkah Anda mencoba WinSCP? Anda dapat mengunduh executable portabel dari situs web mereka dan menjalankannya menggunakan WINE.

  • Instal WINE menggunakan sudo apt-get install wine
  • Unduh dan buka paket portable executable dari http://winscp.net/eng/download.php
  • Jalankan WinSCP.exe menggunakan menu konteks atau jalankan wine WinSCP.exe
  • Atur protokol File ke SCP dan masukkan Host dan nama Pengguna Anda
  • Buka jendela "Advanced" dan atur opsi Shell di Environment-> SCP / Shell ke sudo su -
  • Masuk ke host Anda
  • Anda sekarang dapat mengakses log menggunakan editor internal atau WINEs Notepad

Seret & Jatuhkan dari Nautilus juga dimungkinkan.

Andreas Hacker
sumber
0

Luncurkan nautilus dari terminal dengan gksudo nautilus.

Ingat bahwa alat GUI yang berjalan dengan izin root bukan kebijakan yang baik.

migas
sumber
0

Ini mungkin bukan cara terbaik, tetapi hanya sebuah pemikiran, jika server jauh Anda telah mengaktifkan X11, Anda dapat prelaod sebuah perintah

ssh -X usr @ svr: ~ / gksudo nautilus.

Tapi @Oli sudah membahasnya, Anda tidak dapat menggunakan server SFTP dalam OpenSSH

Juga ini bukan ide yang buruk, tetapi jika Anda juga mengizinkan sshuser Anda hanya membaca akses ke file yang Anda butuhkan, masalah Anda terpecahkan.

kmassada
sumber
0

Saya tidak yakin apakah saya menjawab dengan benar tetapi mungkin saya bisa membantu sedikit.

ssh ke server Anda dengan ssh -XC user@address

Tag -XC akan menyalurkan jendela ke komputer Anda ketika sesuatu dibuka.

Kemudian coba sudo nautilusdan kemudian nautilus server Anda akan terbuka di layar lokal Anda.

Tuan Lee
sumber