sshfs non utilizzerà ~ / .ssh / config (su Linux Mint 15)


10
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 fusegruppo.
  • Ho modificato il mio locale ~/.ssh/configper 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/configfile) 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 = publickeyin ~ / .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_dire sudo chmod 774 /mnt/new_dire 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 fusegruppo.


Ciao MBS, puoi eseguire ssh con l'opzione -v per mostrare eventuali errori che potrebbero essere presenti. potrebbe valere la pena farlo per vedere se c'è un errore durante la lettura del file. Inoltre, le tue chiavi sul server di destinazione dovrebbero avere 600 autorizzazioni.
Rqomey,

Grazie per la risposta rapida. ssh verbose: pastebin.com/Rm5X7y5p (tornerò con sshfs verbose tra un minuto
indivisibile

sshfs usando il -o ssh_command='ssh -v'comando si blocca e non produce nulla
indivisibile il

Penso di aver trovato il problema (o almeno di essermi avvicinato ad esso). 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. 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?
indivisibile il

1
Vedo che sei nuovo su StackExchange, quindi benvenuto. Ma alcuni consigli: so che ti piacerebbe provare ad anonimarti oscurando i dati, ma non dovresti davvero. Se avessi fornito quel pezzettino di informazioni che indicava dove stavi montando il supporto, altri avrebbero notato il problema. Inoltre, non collegare a siti esterni (pastebin) per fornire output, includilo qui. Infine, se hai una soluzione, forniscila come risposta e accetta quella risposta, non mettere "risolto" nell'argomento.
Patrick,

Risposte:


12

Se stai usando, sudoprobabilmente stai usando le credenziali di root per montare, che non credo sia quello che vuoi. Probabilmente non farei quello che stai chiedendo, wrt. montaggio /mntcome utente1 e accesso come utente2. Si complicherà con i gruppi e le autorizzazioni utente. Se vuoi veramente montare una directory su / mnt da condividere, dovresti davvero montarla tramite il livello di sistema per tutti gli usi autofs.

automounting

Esistono 3 metodi di cui sono a conoscenza per il montaggio automatico di un mount come questo.


Questo era esattamente il problema. Ho modificato la mia domanda per includere i passaggi che ho preso per modificare le autorizzazioni della cartella in questione, ma mentre funziona sono abbastanza sicuro che non sia la soluzione migliore. - Non avevo ancora provato a usare autofsperché non ero in grado di stabilire la connessione sshfs prima d'ora. Stai suggerendo di aggiungere un'altra coppia di chiavi a local:/root/.ssh/keye remote:/[user]/.ssh/authorized_keys? Cosa dovrebbe essere chowne chmodessere per l' local:/mnt/diressere? (Voglio permessi completi per me stesso e leggere solo per altri utenti)
indivisibile il

@mbs - vedi aggiornamenti
slm

1
Quell'URL per autofs, è corretto? Perché sembra errato quando lo richiedi. Mostra gli sport in una lingua non inglese.
Geoffrey Anderson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.