sshfs che dà "l'host remoto si è disconnesso"


14

Sto cercando di montare una sftpconnessione in una cartella utilizzando sshfsil seguente comando che genera un errore.

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

Lo stesso errore si verifica se I SSH nel sistema e ripeto il comando con localhost. Questo comando ha funzionato anche con un'altra macchina, quindi il problema è da qualche parte sul server.

~$ 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

La ~/.sshdirectory è di proprietà di admin da quando l'ho vista come un tentativo di debug per un problema simile.

Ulteriori informazioni per riferimento futuro:

Il problema non è con SSH stesso, ma con SFTP. Ciò si manifesta con il fatto che le connessioni SSH funzionano correttamente ma SFTP ha sempre esito negativo. Tentativo di risultati SFTP inReceived unexpected end-of-file from SFTP server

Il problema non è correlato alle stringhe di output degli script di accesso (ad es ~/.bashrc.).

Il problema è presente da tutti gli utenti (incluso root).

Ecco la mia configurazione 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-serveril pacchetto è installato. ( sudo apt-get install openssh-sftp-server)


1) ci sei riuscito sftpdirettamente? Qual è il contenuto di ~/.bashrco altri file di avvio nella home directory del server?
Jakuje,

@Jakuje Hmm .. il problema sembra essere in effetti con sftp. Provare con filezilla dàReceived unexpected end-of-file from SFTP server
Slava Knyazev

2) Riesci sftpa utenti diversi? 3) Come si presenta sshd_configsul server? 4) Com'è il tuo ~/.bashrcaspetto?
Jakuje,

@Jakuje Same 2) No .. Stesso errore per tutti gli utenti. 3) pastebin.com/raw/ujNk3fVR 4) bashrc non ha avuto rilevanza ma qui: pastebin.com/raw/mUD3DWmG
Slava Knyazev,

Da cosa ottieni which sftp-server. Sottosistema dovrebbe essere Subsystem sftp /usr/lib/openssh/sftp-server. Hai sftp-serverinstallato? apt-get install openssh-sftp-server.
Jakuje,

Risposte:


5

Il tuo Subsystemvalore sshd_configè sbagliato.

Dovrebbe essere Subsystem sftp /usr/lib/openssh/sftp-servero internal-sftp. Prova a modificare /etc/ssh/sshd_configquesto valore, riavvia il servizio ssh e riprova.


5

Vecchia domanda, ma la prima che emerge per questo problema.

Il mio problema era che il server richiedeva l'autenticazione con chiave, ma stavo eseguendo il comando usando sudoe specificando -o IdentityFile=~/.ssh/id_rsa, il che significava che ~era stato espanso nella home di root, non nella mia.

Specificare il percorso completo ha funzionato, e immagino che anche usarlo $HOME(perché si sarebbe espanso prima).


Grazie, sono riuscito a montare con questo suggerimento.
Bemmu,


0

Se sei in grado di connettere l'host tramite ssh da solo:

ssh xxx.xxx.xxx.xxx

È possibile che ti venga richiesto di salvare la chiave, devi digitare YES, non solo una Y. Dovresti quindi richiedere il nome utente e la password per l'utente su quel computer remoto.

Usa quello con cui stai provando a fare sshfs, post indietro i risultati.

Se ricevi una connessione rifiutata, immagino che non hai installato SSH sul computer remoto. Open ssh può essere installato con questo comando, eseguito sul computer remoto:

sudo apt install openssh-server

1
Sì, sono in grado di farlo. "Lo stesso errore si verifica se SSH nel sistema [..]" Lo implica. Il server è configurato correttamente per quanto ne so
Slava Knyazev

OK, potrei mancare di leggere il tuo commento, se sei riuscito a fare il login con ssh o mentre leggo qui: "Lo stesso errore si verifica se inserisco SSH nel sistema [..]" "
Christopher Angulo-Bertram,

Posso farcela bene
Slava Knyazev

OK, guardando la tua riga di comando forse hai uno spazio extra? Ho trovato questo online e ti invierò il link. sshfs <username> @ <ipaddress>: / remotepath ~ / remoteserv L'ho trovato qui: howtogeek.com/howto/ubuntu/… Ci sono un sacco di altre istruzioni ma nella tua domanda originale il tuo comando sembra avere uno spazio extra
Christopher Angulo-Bertram,

Inoltre non vedo dove ti stai collegando al tuo sistema locale come una directory. Il tuo codice il mio codice da seguire: sshfs admin@example.com: / testfo
Christopher Angulo-Bertram

0

Non sono sicuro che possa aiutare, ma ho avuto un problema simile

remote host has disconnected

e dopo aver cercato su Google e navigando, mi sono reso conto che in realtà ho collegato ssh tramite un'altra porta.

Quindi, ad esempio, ho dovuto collegarmi via ssh (esempio, supponendo che il numero di porta 1234):

ssh username@example.com -p 1234

invece di ssh standard quando il numero di porta è 22. Quindi lo stesso doveva essere usato per la connessione sshfs:

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

Ha risolto il mio problema.


0

Un'altra causa che mi è successa è che il dropbearmultibinario stesso mancava della stringa /usr/libexec/sftp-serverche si è persa da qualche parte attorno alla build 33600 di DD-WRT. Controlla se detto binario menziona questo file o non funzionerà anche se è presente. Ho dovuto usare un binario dalla build 33525 e creare un launcher che uccide il normale dropbear con buggy, quindi esegue questo. Si crea un collegamento simbolico chiamato che dropbearpunta a dropbearmulti. Interrompi quello corrente con stopservice sshd, quindi esegui quello funzionante. Guarda pscome sono i parametri corretti. È meglio averlo su jffs (o decomprimerlo su / tmp) in modo da poter ancora umountqualsiasi unità.

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.