accedere ad una memoria di massa remota in Suse

Come accedere ad una memoria di massa remota anche senza essere amministratore e anche via WiFi o non modificare il file /etc/fstab o altro?

Abbiamo diversi sistemi in Linux ma vi dico i due più comodi: Samba e SshFs.

Ringrazio:

N2k e il suo blog
http://www.n2h.it/unixlinux/montare-un-filesystem-remoto-via-ssh-su-linux-ubuntu/

>e la comunità Arch
https://wiki.archlinux.org/index.php/Sshfs_%28Italiano%29

1. Troviamo l’unità

Nell’esempio che useremo abbiamo già configurato Samba e vogliamo vedere una chiavetta USB montata sul nostro router, se logicamente sappiamo dove è (esempio un disco fisso) saltate questo passaggio.

Per prima cosa dobbiamo sapere dove è questa memoria, quindi il suo IP e installiamo una utilità: NMap.

La troviamo qui:

https://software.opensuse.org/package/nmap

Logicamente

1) Inserire una memoria USB nella porta USB del router.
2) Accendere sia il router WiFi, sia il computer.
3) Aprire un terminale e impartire il comando:

nmap 192.168.1.0/24 | grep 192.168

Nota: Gli diciamo di scannerizzare tutte le porte e IP connessi nel range IP 192.168.1.0/24 e tenere (grep) solo quelle righe che abbiano “192.168”. Questo per non impazzire fra 10’000 righe!

Esempio di risposta:

opensuse13k1b64@linux-gid6:~> nmap 192.168.1.0/24 | grep 192.168
nmap scan report for dsldevice.lan (192.168.1.1)

Nmap scan report for 192.168.1.2

Nmap scan report for android-a78090f48ec4a246.lan (192.168.1.3)

All 1000 scanned ports on android-a78090f48ec4a246.lan (192.168.1.3) are closed

Nmap scan report for 192.168.1.5

All 1000 scanned ports on 192.168.1.5 are closed

opensuse13k1b64@linux-gid6:~> 

Notate che alla seconda riga (Nmap scan report for 192.168.1.2) trova qualcosa e alla terza riga dice di aver trovato “Nmap scan report for android-a78090f48ec4a246.lan (192.168.1.3)” ovvero un dispositivo Android di cui la 192.168.1.3 (alla quarta riga) è chiusa, poi una 192.168.1.5 che però (alla quinta riga) trova chiusa.

Bene la 192.168.1.2 è quasi sicuramente la chiavetta ed è aperta!

Nota: Se è legato ad un dispositivo intelligente, esempio se è un disco del PC possiamo fare un “ping” per controllare.

Nota: Sappiate che il IP 192.168.1.1 e 192.168.1.44 sono di solito accessi diretti al router, quindi non ci servono. di solito partono da 192.168.1.100 al 192.168.1.225 .

 

2. Usare Samba

per prima cosa configuriamo samba e qui abbiamo una guida:

Configurare e condividere files con Samba in OpenSuse

Vogliamo aprire Dolphin (il file manager di KDE) e vedere dentro?

Così il file-manager (nel caso dell’esempio, Dolphin) verrà aperto mostrando il contenuto della memoria di massa USB.

Possiamo anche aprire normalmente Dolphin e digitare sulla riga di path (percorso)

Nota: “smb” è per Samba, dunque attraverso la strada “smb://” e poi il IP (nel esempio 192.168.1.2) possiamo esplorare la chiavetta.

Logicamente se il dispositivo Android (dalle sue impostazioni) fosse aperta una porta potevamo esplorare anche quel dispositivo.

Samba (suo “papà” è IBM) è comodissimo e inoltre pienamente supportato da Suse, ma se vogliamo fare di più con altro?

3. Usare SSHFS

Abbiamo sshfs che (sulla OpenSuse 15 dovrebbe essere premontato) lo troviamo qui:

https://software.opensuse.org/package/sshfs

SSHFS è un client file system basato sulla SSH File Transfer Protocol. Poiché la maggior parte dei server SSH già supportano questo protocollo è molto facile da configurare: Ovvero sul lato server non c’è niente da fare. Sul lato client di montare il file system è semplice come l’accesso al server con OpenSSH (SSH).

ATTENZIONE: Controlliamo il servizio SSH sia attivo, firewall aperti e che abbiamo FUSE installato (di solito è di base su OpenSuse ma non si sa mai) con il comando da terminale:

lsmod | grep fuse

Se esiste dovrebbe dare questo (lasciate stare i numeri che possono essere diversi):

fuse                  106496  3  

Nel caso contrario lo troviamo qui:

https://software.opensuse.org/package/fuse

3.1. Via alle danze sshfs

Operiamo da terminale, prima dove mettere:

mkdir -p /mnt/sshfs/

È necessario, inoltre, impostare l’utente (voi registrati) che utilizzerà questa directory come owner: (io o uso il mio nome utente o root)

chown mionome /mnt/sshdir

Poi possiamo collegarla:

sshfs 192.168.1.2:/ /mnt/sshfs

Ovviamente lo troveremo montato nella cartella /mnt/sshfs/

Nota: Se volete potete scegliere un altra cartella o con un altro nome ma vi consiglio di montarla sempre sotto /mnt e usare sshfs come cartella. questa cartella si chiama in informatica mountpoint.

Volendo, ed è meglio, invece di usare il IP possiamo usare il nome macchina e utente: Nel caso “remote-user@” è l’utente l’utente autorizzato ad accedere al server remoto “remote-machine“ e può essere sostituire nell’esempio il 192.168.1.2 :

sshfs [email protected]:/some/directory /mnt/sshfs

“/some/directory” è la cartella del dispositivo remoto dove vogliamo giungere direttamente, ovviamente se vogliamo andare alla “base” è / .

La sintassi generale del comando è questa:

sshfs [email protected]_O_INDIRIZZOIP:/PERCORSO PUNTO_DI_MOUNT_LOCALE OPZIONI_SSH

esempio:

sshfs [email protected].1.2:/home /mnt/sshfs

Logico che dobbiamo registrare il nome utente e nome della macchina sulla macchina dove voliamo collegarci, e potete vedere qui come fare.

Se invece vogliamo accedere attraverso una specifica porta (esempio la 9876):

sshfs [email protected]_O_INDIRIZZOIP:/home/sonoio /mnt/sshfs -C -p 9876

Nota: Assicurarsi prima di connettersi, di aver impostato i giusti permessi sui file, per le cartelle locali dove si vuole effettuare il mount di una cartella remota. Esempio: non lasciare che l’unico proprietario sia root! Sarà possibile utilizzare il comando di mount anche come utente normale, dovrebbe funzionare correttamente. richiederà la password, se necessaria (insomma sempre)!

Accedere ad un  Windows: In questo caso  la macchina linux (192.168.1.4) ponte potrebbe effettuare un mount delle risorse della macchina Windows ( 192.168.1.86) che devono essere condivise con un comando del tipo

sudo mount -t cifs -o username=maurizio -p //192.168.1.86/biblio /mnt/sshfs

per avere sshfs su windows aggiungere il programma che di solito si chiama

win-sshfs-0.0.1.5-setup.exe

++—

3.2. Per smontare sshfs

Per smontare (ricordatevi!)

fusermount -u /mnt/sshfs

3.3. Effettuare l’umount sshfs

Sintassi per effettuare l’umount delle cartelle remote:

fusermount -u PUNTO_DI_MOUNT_LOCALE

Esempio:

fusermount -u /mnt/sshfs

Si può usare anche il comando umount che è più rapido ma fa meno controlli nello smontaggio, quindi preferite sempre fusermount.

Vedere se la connessione è attiva

vedere se l’output del comando mount riporta che è montata, altrimenti rifate la connessione ed aggiungete l’opzione -o nonempty

mount

esempio di emissione

[email protected]:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
[email protected]:/home/backup on /backup type fuse.sshfs (rw,nosuid,nodev,max_read=65536)
[email protected]:~#

Oppure

df -h

esempio di emissione

[email protected]:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/server1-root
                       29G 1015M   27G   4% /
udev                  238M  4.0K  238M   1% /dev
tmpfs                  99M  212K   99M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  247M     0  247M   0% /run/shm
/dev/sda1             228M   24M  193M  11% /boot
[email protected]:/home/backup
                       29G 1019M   27G   4% /backup
[email protected]:~#

Chiavi

Qui vi rimando ad una guida più completa:

http://linuxmafia.com/~karsten/Linux/FAQs/sshrsakey.html

https://www.linuxsecrets.com/archlinux-wiki/wiki.archlinux.org/index.php/SSH_keys_(Italiano).html

 

Errori:

Per impostazione predefinita sshfs adotta un’associazione “diretta” tra UID/GID della macchina remota e quella locale, il che significa per esempio che se il proprietario di un certo file sulla macchina remota è l’utente con UID 1002 anche in locale la proprietà del file sarà attribuita all’utente avente UID 1002. Potrebbero dunque sorgere problemi di permessi se su macchina remota e locale non sussiste un esatta corrispondenza utenti/UID e gruppi/GID. Un modo veloce per superare tale problema è specificare lo UID/GID durante il comando per montare le risorse remote, per esempio

# sshfs [email protected]:/dir/to/mount /mnt/sshdir -o allow_other,idmap=user,uid=1001

fa sì che all’utenza usata per connettersi al server remoto sia associata in locale l’utenza avente UID 1001. Se si ha la necessità di fissare la corrispondenza di più utenze/gruppi è possibile creare degli appositi file di mappatura (si veda il manuale di sshfs).

Inoltre, per permettere l’accesso anche ad altri utenti (indipendentemente dai permessi associati ai file), è stata aggiunta l’opzione: -o allow_other

Errore 1

 failed to open /dev/fuse: No such file or directory 

L’errore è dovuto alla mancanza del modulo del kernel relativo a fusefs. provate questo e riavviate:

# modprobe fuse

Errore 2

mountpoint is not empty 

Se si cerca di montare una risorsa in un mountpoint (esempio /mnt/sshfs) contenente già dei file, può apparire il seguente errore:

fusermount: mountpoint is not empty
fusermount: if you are sure this is safe, use the 'nonempty' mount option

Le soluzioni sono:

  • usare un mountpoint libero (consigliata)
  • appendere, dopo il comando sshfs l’opzione -o nonempty

Esempio:

sshfs [email protected]:/home /mnt/sshfs-o nonempty

 

4. Conclusione

Penso di avervi detto tutto nel caso segnalatelo.

 

Ciaoooooooooooooooooooooooooooooooooo

Precedente DLNA con Suse Successivo I controller giochi su Suse

I commenti sono chiusi.