J'essaie de partager un dossier sur une machine Ubuntu avec une autre machine Ubuntu du même réseau domestique. Lorsque je clique avec le bouton droit sur le dossier et que je choisis Options de partage, il me dit que je dois installer les services de partage réseau Windows pour pouvoir partager des dossiers. Qu'est-ce que Windows a à voir avec ça? Je n'essaie pas de partager avec une machine Windows ...
Qu'est-ce que Windows a à voir avec ça? Je n'essaie pas de partager avec une machine Windows ...
Vous avez raison, cela peut être déroutant. Alors permettez-moi d'essayer de clarifier les termes tout d'abord:
La façon dont Windows partage les fichiers et les imprimantes s'appelle SMB. Les membres du projet SAMBA ont mis en œuvre tous les protocoles et spécifications de Microsoft pour Linux. Ubuntu prend donc en charge le même type de partage de fichiers que Windows, appelé Samba.
Vous pouvez utiliser SAMBA pour partager des fichiers entre des machines Linux. En fait, vous pouvez le préférer si vous avez par exemple un ami avec son ami. Ordinateur sous Windows.
Vous pouvez également utiliser la méthode Linux de partage de fichiers, à savoir NFS (Network File System) - cette réponse à une question précédente explique comment faire. il. (mais c'est plutôt technique)
Ainsi, lorsque la boîte de dialogue Options de partage vous demande d’installer les packages, vous n’installez aucun logiciel Microsoft ou quelque chose du genre. Allez-y et faites-le, c'est parfaitement sûr.
Addenda:
Vous pouvez simplement activer le partage avant de suivre les instructions de Salih Emin. si cela ne fonctionne pas, vous recevrez un simple avertissement, vous pourrez alors suivre les étapes décrites par Salih si nécessaire. Je l'ai essayé sur un système fraîchement installé et à jour, et j'avais vraiment besoin de le faire.
Il existe actuellement un petit bogue dans Lucid, répertorié dans le tableau de bord: bogue n ° 536766 . Ce bogue n’invite pas l’utilisateur à installer les packages nécessaires à la configuration du partage de fichiers. En attendant, voici une solution rapide.
Vous devez installer libapache2-mod-dnssd et redémarrer. Cliquez sur ce lien pour l'installer ou recherchez libapache2-mod-dnssd dans le centre logiciel.
Une fois que vous l'avez installé, allez sur Système → Préférences → Partage de fichiers personnels , puis cochez la case 'Partager les fichiers publics sur le réseau'.
Ceci fait, vous devriez pouvoir visualiser tous les autres ordinateurs de votre réseau qui ont autorisé le partage de fichiers public dans le dossier Public. Cliquez simplement sur Lieux → Réseau . Vous devriez y voir tous les ordinateurs disponibles et leurs dossiers publics partagés.
Double-cliquez sur l'icône du serveur pour monter le dossier public approprié sur votre bureau.
Via texte du lien
Vous pouvez simplement exécuter un serveur simpleHTTP sur la machine Linux et accéder au même sur l’autre machine.
Pas :
python -m SimpleHTTPServer
ifconfig
.Vous obtenez les fichiers requis dans le dossier à télécharger.
Vous pouvez installer "qweborf". Il partagera le répertoire via HTTP et les autres hôtes pourront y accéder avec un navigateur.
Il peut également activer webdav et permettre au répertoire d'être monté en tant que système de fichiers en lecture/écriture (testé avec davfs2, KDE, Gnome2, OsX).
Je crois que c’est ce qui est décrit dans les paquets SAMBA, ou c’est au moins une partie de leur description. Au lieu de cela, vous pouvez essayer Préférences-> Partage de fichiers qui, je crois, utilise un mécanisme différent. Samba est une chose pratique à installer cependant.
Si vous souhaitez une intégration transparente dans Ubuntu et que la compatibilité Windows ne vous intéresse pas, SSH est votre bon à rien.
Voir Comment puis-je partager des fichiers entre deux ordinateurs Linux sur un réseau local?
Vous devrez peut-être installer le serveur SSH avec:
Sudo apt-get install openssh-server
À partir de l'application de gestion de fichiers sur votre client, vous pouvez accéder à votre serveur avec:
sftp://servername.local
Pour accéder aux fichiers depuis un terminal ou par programme, utilisez sshfs
pour créer un point de montage dans le système de fichiers du client.
Pour les réseaux exclusivement Linux, je trouve SSHFS natif, stable et extrêmement rapide. J'ai deux machines Xubuntu (18.04) partageant/les dossiers personnels sur SSH.
Voici comment configurer cela sshfs et se reconnecter automatiquement après le redémarrage à l'aide de fstab sans avoir à fournir un mot de passe. Un grand merci à tilisateur du serveur par défaut, kubanczyk pour la reconnexion après une suspension/reprise à distance.
J'utiliserai "Local machine - surfbox" pour l'ordinateur auquel vous vous connectez et "Remote machine - devbox" pour l'ordinateur auquel vous vous connectez.
Remplacez "remoteuser" ci-dessous par le nom d'utilisateur auquel vous vous connectez sur la machine distante et "localuser" par le nom d'utilisateur auquel vous vous connectez sur la machine locale. Pour vérifier les noms d'utilisateur, saisissez echo $USER
dans le terminal sur les ordinateurs distants et locaux.
Vérifiez également votre ID utilisateur et votre ID groupe, ils devraient tous deux être 1000.
GroupID: id -g localuser
UserID: id -u localuser
hostname -I
Je vais utiliser 192.168.1.150 pour la machine locale ('surfbox') et 192.168.1.151 pour la machine distante ('devbox')
Sudo apt install sshfs Fuse ssh
Créer un groupe: Sudo groupadd Fuse
Ajoutez un utilisateur local au groupe: Sudo usermod -a -G Fuse $user
Nous aurons besoin de cette option lors du montage dans fstab
Éditez /etc/Fuse.conf
avec votre éditeur de ligne de commande. Supprimez le hashtag avant user_allow_other
et enregistrez.
Ne fournissez pas de mot de passe lorsque vous y êtes invité . Appuyez simplement sur Entrée pour laisser en blanc.
ssh-keygen -t rsa -C [email protected]
Les clés sont stockées dans le dossier répertoire /.ssh de la machine locale
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Un mot de passe vous sera demandé pour un utilisateur distant sur un ordinateur distant. La clé publique de la machine locale est maintenant ajoutée au fichier ~/.ssh/allowed_keys sur la machine distante.
Choisissez un nom qui ait du sens pour votre ordinateur distant.
Sudo mkdir /mnt/devboxhome
La syntaxe pour sshfs est
sshfs [user@]Host:[directory] mountpoint [options]
nous utilisons
Sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
exemple: en supposant que "steve" est le nom d'utilisateur sur les machines locales et distantes
Sudo sshfs [email protected]:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Comme vous avez transféré la clé publique RSA sur la machine distante, vous ne devez pas demander de mot de passe pour l'utilisateur distant.
Vous recevrez un avertissement indiquant que la machine n'est pas approuvée et que vous devez lui indiquer si elle doit être ajoutée. Ajoutez la machine distante comme approuvée.
Dans le terminal sur la machine locale, vous pouvez maintenant lister le répertoire machine/home distant sous/mnt/devboxhome
cd /mnt/devboxhome ls
ou utilisez Nautilus pour parcourir le répertoire. Génial.
Nous allons ajouter une entrée dans/etc/fstab pour que cela se produise. Vous aurez besoin de votre identifiant d'utilisateur local de la machine et de votre identifiant de groupe - voir intro si vous avez manqué ceci Éditez/etc/fstab avec votre éditeur de ligne de commande et ajoutez ces deux lignes à la fin de/etc/fstab
# Mount devbox at boot [email protected]:/home/[remoteuser]/ /mnt/devboxhome Fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
ServerAliveCountMax
échoue plusieurs fois, reconnectez-vous.Un utilisateur qui se connecte en tant que steve sur des machines locales et distantes aurait:
[email protected]:/home/steve/ /mnt/devboxhome Fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
IMPORTANT: une barre oblique après le répertoire distant: [email protected]:/home/steve /
enregistrer/etc/fstab et ....
Vous devriez maintenant pouvoir accéder au répertoire de la machine distante/home dans la machine locale/mnt/devboxhome. Dans Nautilus, vous pouvez faire glisser ce dossier dans la barre des emplacements.
Répétez les mêmes étapes sur la machine distante pour rendre le répertoire/home de la machine locale partagé.
Ma façon de partager des fichiers:
Sudo npm install -g http-server
Allez dans le dossier que vous aimez partager, ouvrez le terminal et lancez cette commande:
http-server -o
Vous pourrez accéder à ce dossier sur toutes les machines du même réseau à l'adresse IP mentionnée par le résultat de cette commande.