Ich muss über nsh auf den /var/logs
Ordner und viele solcher Ordner auf meinem Remote-Server von nautilus aus zugreifen und "Mit Server verbinden" verwenden. Ich vermeide Root-Logins und habe es deaktiviert. Ich möchte sudo
stattdessen verwenden, genau wie ich es mit SSH-Sitzungen im Terminal mache. Wie kann ich Nautilus sudo
auf dem Remote-Server verwenden, um Zugriff zu erhalten? (Root-Login ist auf dem Server deaktiviert)
Wenn nicht Nautilus selbst, gibt es Alternativen, die dazu beitragen können, dies zu erreichen?
sudo
bedeutet dies als Superuser (root). Wollen Sie damit sagen, dass Siesudo
manuell auf dem Server arbeiten können? Sie müssen nur Nautilus verwenden, um es zu verwenden, wenn Sie eine Verbindung zum Server herstellen.Antworten:
Wenn Sie Nautilus als lokales Root-Konto (mit sudo, gksu usw.) ausführen, erhalten Sie offensichtlich keinen Root-Zugriff auf den Server.
Das Problem ist, dass der SFTP-Server in OpenSSH (mit dem Nautilus eine Verbindung herstellt) keine Befehle wie unterstützt
sudo
- es ist keine Shell-Umgebung. Was Sie einfach verlangen, ist mit den Standardmechanismen nicht möglich.Sie sind jedoch nicht ohne Optionen. Ich bin mir nicht sicher, wie vertraut Sie mit SSH sind, aber Sie können Ports über eine Verbindung zurücktunneln, damit Sie eine normale Verbindung herstellen, einen einfachen FTP-Server als Root ausführen und all das über SSH zurück auf Ihren Computer tunneln können. Klingt schrecklich, ist aber ziemlich einfach.
Führen Sie auf dem Server Folgendes aus:
Führen Sie dann von Ihrem Computer aus einen kurzen SSH-Befehl aus:
Stellen Sie dann in Nautilus (auf Ihrem Computer) eine Verbindung zu her
ftp://localhost:2121
. Die Magie von SSH leitet dies an den FTP-Server weiter, der als Root ausgeführt wird.Es gibt andere Protokolle (ich habe eine Weile nach einem besseren gesucht), aber FTP ist dank eines großen Teils am einfachsten in Betrieb zu nehmen
pyftpdlib
. Sie könnten ähnliche Dinge mit webdav et al tun, da bin ich mir sicher ... Es wäre einfach viel mehr Hacking.quelle
/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executed
während der Authentifizierung beim Server.sudo python -m pyftpdlib.ftpserver ...
pyftpdlib.ftpserver module is deprecated
Dies erhalten Sie, wenn Sie apt-get verwenden (mindestens am 14.04.). Sie müssen sowieso den Pip-Weg wählenHaben Sie WinSCP ausprobiert? Sie können eine tragbare ausführbare Datei von ihrer Website herunterladen und mit WINE ausführen.
sudo apt-get install wine
wine WinSCP.exe
sudo su -
Drag & Drop von Nautilus ist ebenfalls möglich.
quelle
Starten Sie nautilus von einem Terminal mit
gksudo nautilus
.Denken Sie daran, dass GUI-Tools, die mit Root-Berechtigungen ausgeführt werden, keine gute Richtlinie sind.
quelle
Dies ist möglicherweise nicht der beste Weg, aber nur ein Gedanke: Wenn auf Ihrem Remote-Server X11 aktiviert ist, können Sie einfach einen Befehl vorab ausführen
Aber @Oli hat es verstanden, Sie können den SFTP-Server in OpenSSH nicht verwenden
Auch das ist keine schlechte Idee, aber wenn Sie Ihrem sshuser auch nur Lesezugriff auf die benötigten Dateien erlauben, ist Ihr Problem gelöst.
quelle
Ich bin mir nicht sicher, ob ich richtig antworte, aber vielleicht kann ich ein bisschen helfen.
ssh in deinen Server mit
ssh -XC user@address
Das -XC-Tag leitet das Fenster an Ihren Computer weiter, wenn etwas geöffnet wird.
Versuchen Sie es
sudo nautilus
dann und der Nautilus Ihres Servers wird auf Ihrem lokalen Bildschirm geöffnet.quelle