Local: Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V: OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V: SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Remote: Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V: OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Sto cercando di impostare un mount senza password di un server remoto usando sshfs e fuse. Il server remoto è in esecuzione su una porta non standard e userò una coppia di chiavi ssh per l'autenticazione.
In caso di successo, lo ripeterò per altri tre server remoti ciascuno con chiavi diverse, quindi devo essere in grado di specificare quali mappe di chiavi per quale server remoto.
Ho basato le mie modifiche su questo tutorial
- La chiave pubblica è in remoto: authorized_keys
- Ho aggiunto il mio utente locale al
fuse
gruppo. - Ho modificato il mio locale
~/.ssh/config
per avere (per server):
`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
`
Ogni volta che provo a montare localmente il server remoto mi viene richiesta la password dell'utente remoto (non la password della mia chiave privata). L'utente remoto ha una lunga password generata casualmente che non vorrei salvare o ricordare e quindi le chiavi sono come voglio farlo.
Posso collegarmi tramite ssh (combinato con il ~/.ssh/config
file) usando il comando, ssh [ip]
quindi so che il file di configurazione può essere letto correttamente quando mi viene chiesto il passphrase della mia chiave, non dell'utente remoto.
Per tentare persino di connettersi al server remoto, devo specificare manualmente i dettagli completi della connessione nel comando: `sshfs [utente] @ [ip]: [percorso_ remoto] [percorso_locale] -p [porta]
Quello che ho provato finora:
- ssh-add / path / to / key (aggiunta riuscita)
- Specifica
PreferredAuthentication = publickey
in ~ / .ssh / config - sshfs -o IdentityFile = / path / to / key user @ ip: / / my / mnt / dir
- sshfs user @ ip: / / my / mnt / dir -o IdentityFile = / path / to / key
- rinominazione temporanea della chiave per impostazione predefinita di
id_rsa
- sshfs -F ~ / .ssh / config
Esiste un file di configurazione remoto o locale che sto trascurando? Qualche switch o opzione che devo includere nella chiamata a sshfs (provato -F) per forzarlo a leggere e usare la mia configurazione ssh?
Uscita di ssh -v -p [port] [user]@[remote_ip]
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 maggio 2012 debug1: lettura dei dati di configurazione /home/[me[/.ssh/config debug1: /home/[me lasting/.ssh/config line 2: applicazione delle opzioni per [remote_ip] debug1: /home/[me lasting/.ssh/config line 24: applicazione delle opzioni per * debug1: lettura dei dati di configurazione / etc / ssh / ssh_config debug1: / etc / ssh / ssh_config linea 19: applicazione delle opzioni per * debug1: connessione a [remote_ip] [[remote_ip]] port [port]. debug1: connessione stabilita. debug1: file di identità /home/[me[/.ssh/[private_key] tipo 2 debug1: Verifica del file della blacklist /usr/share/ssh/blacklist.DSA-1024 debug1: Verifica del file della blacklist /etc/ssh/blacklist.DSA-1024 debug1: file di identità /home/[me lasting/.ssh/[private_key×-cert tipo -1 debug1: Protocollo remoto versione 2.0, versione del software remoto OpenSSH_5.9p1 Debian-5ubuntu1.1 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 * debug1: abilitazione della modalità di compatibilità per il protocollo 2.0 debug1: stringa di versione locale SSH-2.0-OpenSSH_6.1p1 Debian-4 debug1: SSH2_MSG_KEXINIT inviato debug1: SSH2_MSG_KEXINIT ricevuto debug1: kex: server-> client aes128-ctr hmac-md5 zlib@openssh.com debug1: kex: client-> server aes128-ctr hmac-md5 zlib@openssh.com debug1: invio di SSH2_MSG_KEX_ECDH_INIT debug1: in attesa di SSH2_MSG_KEX_ECDH_REPLY debug1: chiave host del server: [chiave] debug1: controllo senza identificatore di porta debug1: l'host '[remote_ip]' è noto e corrisponde alla chiave host ECDSA. debug1: chiave trovata in /home/[me lasting/.ssh/known_hosts:7 debug1: trovata chiave corrispondente senza porta debug1: ssh_ecdsa_verify: firma corretta debug1: SSH2_MSG_NEWKEYS inviato debug1: attesa SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS ricevuto debug1: roaming non consentito dal server debug1: SSH2_MSG_SERVICE_REQUEST inviato debug1: SSH2_MSG_SERVICE_ACCEPT ricevuto debug1: autenticazioni che possono continuare: chiave pubblica, password debug1: metodo di autenticazione successivo: publickey debug1: offerta della chiave pubblica DSA: /home/[me[/.ssh/[private_key] debug1: il server accetta la chiave: pkalg ssh-dss blen 433 debug1: abilitazione della compressione a livello 6. debug1: autenticazione riuscita (publickey). Autenticato su [remote_ip] ([[remote_ip]]: [port]). debug1: canale 0: nuovo [sessione client] debug1: richiesta no-more-sessions@openssh.com debug1: accesso alla sessione interattiva. debug1: invio di ambiente. debug1: invio env LANG = en_GB.UTF-8 debug1: invio env LC_CTYPE = en_GB.UTF-8 Benvenuto in Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)
Modifica:
ho trovato il problema. Stavo cercando di montare la posizione remota su / mnt / new_dir usando sudo. Se monto in una posizione all'interno della mia casa locale, allora funziona. sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
.
Ora ho fatto un sudo chown root:fuse /mnt/new_dir
e sudo chmod 774 /mnt/new_dir
e credo che tutto funzioni come previsto.
Ci sono problemi di sicurezza con questa configurazione di cui devo essere consapevole? (Il mio utente e root sono gli unici membri del fuse
gruppo.
-o ssh_command='ssh -v'
comando si blocca e non produce nulla
sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
. Posso configurare il mio utente in modo che disponga delle autorizzazioni necessarie per montare su / mnt in modo che altri utenti possano utilizzare le risorse remote?