J'ai besoin d'accéder au /var/logs
dossier et à beaucoup de ces dossiers sur mon serveur distant depuis nautilus, en utilisant "Se connecter au serveur" via ssh. J'évite les connexions root et je l'ai désactivé. Je voudrais utiliser à la sudo
place, tout comme je le fais avec les sessions SSH dans le terminal. Comment utiliser Nautilus sudo
sur le serveur distant pour y accéder? (La connexion root est désactivée sur le serveur)
Si ce n'est pas le nautile lui-même, existe-t-il des suppléants qui pourraient aider à accomplir cela?
sudo
signifie faire cela en tant que super-utilisateur (root). Voulez-vous dire que vous pouvezsudo
manuellement sur le serveur, il vous suffit d'obtenir que nautilus l'utilise lors de la connexion au serveur?Réponses:
Évidemment, exécuter Nautilus en tant que compte root local (avec sudo, gksu, etc.) ne vous donnera pas accès root sur le serveur.
Le problème est que le serveur SFTP dans OpenSSH (auquel Nautilus se connecte) ne prend pas en charge les commandes telles que
sudo
- ce n'est pas un environnement shell. Ce que vous demandez simple n'est pas possible grâce aux mécanismes standard.Cependant, vous n'êtes pas sans options. Je ne sais pas à quel point vous êtes familier avec SSH, mais vous pouvez tunneliser les ports via une connexion afin que vous puissiez vous connecter normalement, exécuter un simple serveur FTP en tant que root et tunneler tout cela vers votre ordinateur via SSH. Cela semble horrible mais c'est assez simple.
Sur le serveur, exécutez:
Ensuite, à partir de votre ordinateur, exécutez simplement une courte commande SSH:
Et puis dans Nautilus (sur votre ordinateur), connectez-vous à
ftp://localhost:2121
. La magie de SSH transmettra cela au serveur FTP exécuté en tant que root.Il existe d'autres protocoles (j'ai passé un certain temps à en chercher un meilleur) mais FTP est le plus facile à mettre en place et à utiliser grâce en grande partie à
pyftpdlib
. Vous pourriez faire des choses similaires avec webdav et al, je suis sûr ... Ce serait juste beaucoup plus de piratage.la source
/usr/bin/python: No module named pyftpdlib.__main__; 'pyftpdlib' is a package and cannot be directly executed
lors de l'authentification sur le serveur.sudo python -m pyftpdlib.ftpserver ...
pyftpdlib.ftpserver module is deprecated
C'est ce que vous obtenez lorsque vous utilisez apt-get (au moins 14.04). Vous devrez de toute façon choisir la façon pipAvez-vous essayé WinSCP? Vous pouvez télécharger un exécutable portable depuis leur site Web et l'exécuter à l'aide de WINE.
sudo apt-get install wine
wine WinSCP.exe
sudo su -
Drag & Drop depuis Nautilus est également possible.
la source
Lancez nautilus depuis un terminal avec
gksudo nautilus
.N'oubliez pas que les outils GUI exécutés avec des autorisations root ne sont pas une bonne stratégie.
la source
Ce n'est peut-être pas la meilleure façon, mais juste une pensée, si votre serveur distant a activé X11, vous pouvez simplement pré-créer une commande
Mais @Oli l'a couvert, vous ne pouvez pas utiliser le serveur SFTP dans OpenSSH
De plus, ce n'est pas une trop mauvaise idée, mais si vous autorisez également votre sshuser à accéder en lecture uniquement aux fichiers dont vous avez besoin, votre problème est résolu.
la source
Je ne sais pas si je réponds correctement, mais je peux peut-être aider un peu.
ssh dans votre serveur avec
ssh -XC user@address
La balise -XC dirigera la fenêtre vers votre ordinateur lorsque quelque chose est ouvert.
Essayez
sudo nautilus
ensuite, puis le nautile de votre serveur s'ouvrira sur votre écran local.la source