J'essaie de monter une sftp
connexion dans un dossier à l'aide sshfs
de la commande suivante qui génère une erreur.
~$ sshfs [email protected]:/ testfo
remote host has disconnected
La même erreur se produit si je SSH dans le système et répète la commande avec localhost
. Cette commande fonctionnait également avec une autre machine, donc le problème se situe 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 ~/.ssh
répertoire appartient à l'administrateur depuis que je l'ai vu comme une tentative de débogage pour un problème similaire.
Informations supplémentaires pour référence future:
Le problème n'est pas 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 entraîneReceived unexpected end-of-file from SFTP server
Le problème n'est pas lié aux chaînes de sortie des scripts de connexion (par exemple ~/.bashrc
).
Le problème est présent chez 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
le package est installé. ( sudo apt-get install openssh-sftp-server
)
sftp
y rendre directement? Quel est le contenu de~/.bashrc
ou d'autres fichiers de démarrage dans votre répertoire personnel du serveur?Received unexpected end-of-file from SFTP server
sftp
à différents utilisateurs? 3) À quoi ressemblesshd_config
le serveur? 4) À quoi ressemble votre~/.bashrc
apparence?which sftp-server
. Le sous-système devrait l'êtreSubsystem sftp /usr/lib/openssh/sftp-server
. Avez-voussftp-server
installé?apt-get install openssh-sftp-server
.Réponses:
Votre
Subsystem
valeursshd_config
est incorrecte.Ce devrait être
Subsystem sftp /usr/lib/openssh/sftp-server
ouinternal-sftp
. Essayez de modifier le/etc/ssh/sshd_config
à cette valeur, redémarrez le service ssh et réessayez.la source
Vieille question, mais la première qui se pose 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
sudo
et en spécifiant-o IdentityFile=~/.ssh/id_rsa
, ce qui signifiait que la~
racine était étendue au domicile de root, pas au mien.Spécifier le chemin complet a fonctionné, et j'imagine que l'utilisation l'
$HOME
aurait aussi (car il se serait développé plus tôt).la source
Vous obtiendrez cette erreur si le serveur distant exécute Dropbear plutôt que OpenSSH.
À partir d'ici: /unix/363540/mount-a-filesystem-using-sshfs-using-the-dropbear-server-on-yocto-firmware
la source
Si vous pouvez connecter l'hôte via ssh seul:
Vous pouvez être invité à enregistrer la clé, vous devez taper OUI, pas seulement un Y. Il vous sera alors demandé de saisir le nom d'utilisateur et le mot de passe de l'utilisateur sur cette machine distante.
Utilisez celui avec lequel vous essayez de faire sshfs, postez vos résultats.
Si vous obtenez une connexion refusée, je suppose que vous n'avez pas installé SSH sur l'ordinateur distant. Open ssh peut être installé avec cette commande, exécutée sur l'ordinateur distant:
la source
Je ne sais pas si cela aide, mais j'ai eu un problème similaire
et après quelques recherches et recherches sur Google, j'ai réalisé qu'en fait, je connectais ssh via un port différent.
Ainsi, par exemple, je devais me connecter via ssh (exemple, en supposant le numéro de port 1234):
au lieu de ssh standard lorsque le numéro de port est 22. Donc, le même devait être utilisé pour la connexion sshfs:
Cela a résolu mon problème.
la source
Une autre cause qui m'est arrivée est que le
dropbearmulti
binaire lui-même n'avait pas la chaîne/usr/libexec/sftp-server
qui s'est perdue quelque part autour de la construction 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 créer un lanceur qui tue le dropbear normal du buggy, puis exécute celui-ci. Vous créez un lien symbolique appelédropbear
pointant versdropbearmulti
. Vous arrêtez l'actuel avecstopservice sshd
, puis exécutez celui qui fonctionne. Voyez àps
quoi ressemblent les paramètres appropriés. Il est préférable de l'avoir sur jffs (ou de le décompresser dans / tmp) afin que vous puissiez toujours utiliserumount
n'importe quel lecteur.la source