J'essaie de configurer un serveur de répertoires de départ centralisé via sshfs et pam-mount.
Actuellement, je suis bloqué à ce stade:
Lorsque vous essayez de monter le répertoire de base distant, sshfs reste bloqué:
d_inevitable@laptop:~$ sshfs -o nonempty,debug server: .
Fuse library version: 2.9.0
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
Il gèle à ce stade.
Cela semble être dû au fait que le répertoire de base comprend ~/.ssh
. Donc, quand j'essaie sshfs -o nonempty server:.ssh .ssh
, la même chose se produit.
Je suppose que Fuse initialise le montage, mais ssh a besoin de quelque chose de son répertoire de configuration pour essayer de le lire. Le fusible ne fera que bloquer cette lecture, entraînant un blocage.
De quel genre de choses les sshfs ont-ils besoin de ~/.ssh
?
J'ai essayé de supprimer toutes les autorisations de lecture/écriture de ~/.ssh
puis de monter sur un autre répertoire. Cela a bien fonctionné. La sortie de débogage se plaint uniquement d'écrire sur .ssh/known_hosts
.
Vous avez raison, Fuse lance d'abord le montage, puis le processus ssh. Cela pose un problème car ssh lit par défaut les fichiers ~/.ssh/ssh_config
, ~/.ssh/known_config
, ~/.ssh/id_*
de l'utilisateur home. Ce comportement peut être changé:
~/.ssh/ssh_config
est le fichier de configuration par utilisateur par défaut. Un autre fichier de configuration par utilisateur peut être spécifié à l'aide de l'option -F
, ou en utilisant -F /dev/null
pour ne spécifier aucun fichier de configuration par utilisateur.~/.ssh/known_config
est utilisé pour stocker et vérifier les clés de l'hôte. Vous pouvez utiliser -o UserKnownHostsFile=/dev/null
et ajouter manuellement la clé de l'hôte à /etc/ssh/ssh_known_hosts
ou utiliser -o StrictHostKeyChecking=no
.~/.ssh/id_*
sont des fichiers d'identité utilisés par défaut pour l'authentification du client. Si vous souhaitez vous authentifier à l'aide d'un fichier d'identité, vous devez le conserver en dehors du répertoire de base et utiliser -o IdentitiesOnly=yes -o IdentityFile=<path to private key>
. Sinon, vous pouvez vous authentifier de manière interactive si vous utilisez -o IdentitiesOnly=yes -o IdentityFile=/dev/null -o PubkeyAuthentication=no
.Par exemple, pour monter chez vous à l’aide de sshfs, s’authentifier à l’aide d’un mot de passe, sans vérification de la clé de l’hôte, exécutez
sshfs user@server: ~/ -o nonempty -F /dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o IdentityFile=/dev/null -o PubkeyAuthentication=no