17 votes

sshfs donne "l'hôte distant s'est déconnecté".

J'essaie de monter un sftp dans un dossier en utilisant sshfs avec la commande suivante qui jette une erreur.

~$ sshfs admin@example.com:/ testfo
remote host has disconnected

La même erreur se produit si je me connecte au système en SSH et que je répète la commande avec localhost . Cette commande a également fonctionné sur une autre machine, le problème se situe donc quelque part sur le serveur.

~$ cat /var/log/auth.log

[...]

May 24 22:49:43 example sshd[20095]: Accepted publickey for admin from 24.111.222.33 port 47086 ssh2: RSA ad:xx:6e:xx:14:xx:bd:b5:xx:cb:66:xx:xx:xx:a3:ac
May 24 22:49:43 example sshd[20095]: pam_unix(sshd:session): session opened for user admin by (uid=0)
May 24 22:49:43 example systemd-logind[812]: Removed session 60.
May 24 22:49:43 example systemd-logind[812]: New session 61 of user admin.
May 24 22:49:44 example sshd[20143]: Received disconnect from 24.203.164.45: 11: disconnected by admin
May 24 22:49:44 example sshd[20095]: pam_unix(sshd:session): session closed for user admin

Le site ~/.ssh est détenu par admin puisque j'ai vu cela comme une tentative de débogage pour un problème similaire.

Informations supplémentaires pour référence future :

La question est no avec SSH lui-même, mais avec SFTP. Cela se manifeste par le fait que les connexions SSH fonctionnent correctement mais que SFTP échoue toujours. La tentative de SFTP aboutit à Received unexpected end-of-file from SFTP server

La question est no liées aux chaînes de sortie des scripts de connexion (par ex. ~/.bashrc ).

Le problème est présent pour tous les utilisateurs (y compris root).

Voici ma configuration sshd ( /etc/ssh/sshd_config ):

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

sftp-server est installé. ( sudo apt-get install openssh-sftp-server )

16voto

silico-biomancer Points 261

Vieille question, mais la première qui me vient à l'esprit pour ce problème.

Mon problème était que le serveur nécessitait une authentification par clé, mais j'exécutais la commande en utilisant les éléments suivants sudo et en spécifiant -o IdentityFile=~/.ssh/id_rsa c'est-à-dire ~ a été étendu à la maison de root, pas la mienne.

Spécifier le chemin complet a fonctionné, et j'imagine que l'utilisation de $HOME l'aurait fait aussi (parce qu'il se serait développé plus tôt).

6voto

Jakuje Points 6207

Votre Subsystem valeur dans sshd_config a tort.

Il devrait être Subsystem sftp /usr/lib/openssh/sftp-server o internal-sftp . Essayez de modifier le /etc/ssh/sshd_config à cette valeur, redémarrez le service ssh et essayez à nouveau.

6voto

calamari Points 91

Vous obtiendrez cette erreur si le serveur distant utilise Dropbear plutôt qu'OpenSSH.

SSHFS utilise SFTP, et Dropbear ne fournit pas SFTP. Ainsi, lorsque vous essayez de l'utiliser, le serveur de Dropbear voit une demande pour un sous-système qu'il ne qu'il ne comprend pas et coupe la connexion.

D'ici : https://unix.stackexchange.com/questions/363540/mount-a-filesystem-using-sshfs-using-the-dropbear-server-on-yocto-firmware

2voto

Adam Ciesielski Points 21

Je ne sais pas si ça peut aider, mais j'ai eu un problème similaire.

remote host has disconnected

et après quelques recherches sur Google, je me suis rendu compte qu'en fait, j'ai connecté ssh via un port différent.

Ainsi, par exemple, j'ai dû me connecter via ssh (exemple, en supposant le numéro de port 1234) :

ssh username@example.com -p 1234

au lieu de ssh standard lorsque le numéro de port est 22. Il fallait donc utiliser la même chose pour la connexion sshfs :

sshfs username@example.com:/ ~/testfolder -p 1234

Cela a résolu mon problème.

1voto

Zdenek Points 111

Une autre cause qui m'est arrivée est que la dropbearmulti Le binaire lui-même n'avait pas la chaîne de caractères /usr/libexec/sftp-server qui s'est perdu quelque part autour de la version 33600 de DD-WRT. Vérifiez si ledit binaire mentionne ce fichier ou il ne fonctionnera pas même s'il est présent. J'ai dû utiliser un binaire de la build 33525 et faire un lanceur qui tue le dropbear normal et buggé, puis lance celui-ci. Vous créez un lien symbolique appelé dropbear pointant vers dropbearmulti . Vous arrêtez celui en cours avec stopservice sshd puis exécutez celui qui fonctionne. Voir dans ps à quoi ressemblent les bons paramètres. Il est préférable de l'avoir sur jffs (ou de le décompresser sur /tmp) pour que vous puissiez encore umount n'importe quel disque.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X