Je dois accéder au dossier /var/logs
et à de nombreux autres dossiers de mon serveur distant depuis Nautilus, à l’aide de "Se connecter au serveur" via ssh. J'évite les connexions root et l'ai désactivé. J'aimerais utiliser Sudo
à la place, comme je le fais avec des sessions SSH dans un terminal. Comment faire en sorte que Nautilus utilise Sudo
sur le serveur distant pour y accéder? (La connexion racine est désactivée sur le serveur)
Si ce n'est pas le nautile lui-même, y a-t-il des substituts qui pourraient aider à accomplir cela?
De toute évidence, utiliser Nautilus en tant que compte root local (avec Sudo, gksu, etc.) ne vous donnera pas d'accès root sur le serveur.
Le problème est que le serveur SFTP au sein d'OpenSSH (auquel Nautilus se connecte) ne prend pas en charge des commandes telles que Sudo
- il ne s'agit pas d'un environnement Shell. Ce que vous demandez simple n'est pas possible avec les mécanismes standard.
Cependant, vous n'êtes pas sans options. Je ne sais pas si vous êtes familier avec SSH, mais vous pouvez rediriger les ports sur une connexion afin de pouvoir vous connecter normalement, exécuter un simple serveur FTP en tant que racine et rediriger tout cela vers votre ordinateur via SSH. Cela semble horrible mais c'est assez simple.
Sur le serveur, lancez:
# newer Ubuntu installs:
Sudo apt-get install python-pyftpdlib
# older Ubuntu installs
Sudo apt-get install python-pip
Sudo pip install pyftpdlib
Ensuite, à partir de votre ordinateur, exécutez une courte commande 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 /"
Ensuite, dans Nautilus (sur votre ordinateur), connectez-vous à ftp://localhost:2121
. La magie de SSH le transmettra 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 à utiliser, en grande partie grâce à pyftpdlib
. Vous pourriez faire la même chose avec webdav et al, j'en suis sûr ... Ce serait simplement plus de piratage informatique.
Si ce n'est pas le nautile lui-même, y a-t-il des substituts qui pourraient aider à accomplir cela?
Avez-vous essayé WinSCP? Vous pouvez télécharger un exécutable portable à partir de leur site Web et l'exécuter à l'aide de WINE.
Sudo apt-get install wine
wine WinSCP.exe
Sudo su -
.Drag & Drop de Nautilus est également possible.
Ce n'est peut-être pas la meilleure solution, mais juste une pensée, si votre serveur distant a X11 activé, vous pouvez simplement prelaod une commande
ssh -X usr @ svr: ~/gksudo nautilus.
Mais @Oli l’a couvert, vous ne pouvez pas utiliser le serveur SFTP dans OpenSSH
En outre, ce n’est pas une mauvaise idée, mais si vous autorisez également votre utilisateur ssh à accéder en lecture seule aux fichiers dont vous avez besoin, votre problème est résolu.
Lancez Nautilus depuis un terminal avec gksudo nautilus
.
N'oubliez pas que les outils graphiques fonctionnant avec des autorisations root ne constituent pas une bonne politique.
Je ne suis pas sûr de bien répondre, mais je peux peut-être vous aider un peu.
sSH sur votre serveur avec ssh -XC user@address
La balise -XC dirige la fenêtre vers votre ordinateur lorsque quelque chose est ouvert.
Ensuite, essayez Sudo nautilus
et le nautile de votre serveur s’ouvrira sur votre écran local.