web-dev-qa-db-fra.com

Accéder aux dossiers avec les privilèges Sudo via Nautilus-Connect sur un serveur distant

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?

10
Rajat Gupta

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.

6
Oli

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.

  • Installez WINE en utilisant Sudo apt-get install wine
  • Téléchargez et décompressez le fichier exécutable portable de http://winscp.net/eng/download.php
  • Exécutez WinSCP.exe à l'aide du menu contextuel ou exécutez wine WinSCP.exe
  • Définissez le protocole de fichier sur SCP et entrez votre nom d’hôte et d’utilisateur
  • Ouvrez la fenêtre "Avancé" et définissez l'option Shell dans Environnement-> SCP/Shell sur Sudo su -.
  • Connectez-vous à votre hôte
  • Vous pouvez maintenant accéder aux journaux à l'aide de l'éditeur interne ou de WINEs Notepad.

Drag & Drop de Nautilus est également possible.

2
Andreas Hacker

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.

0
kmassada

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.

0
migas

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.

0
Mr.Lee