sshfs memberikan "host jarak jauh telah terputus"

13

Saya mencoba me-mount sftpkoneksi ke folder menggunakan sshfsdengan perintah berikut yang melempar kesalahan.

~$ sshfs [email protected]:/ testfo
remote host has disconnected

Kesalahan yang sama terjadi jika saya SSH ke dalam sistem dan ulangi perintah dengan localhost. Perintah ini juga bekerja dengan komputer lain sehingga masalahnya ada di suatu tempat di 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

The ~/.sshdirektori dimiliki oleh admin karena saya melihat bahwa sebagai upaya debugging untuk masalah serupa.

Informasi tambahan untuk referensi di masa mendatang:

Masalahnya bukan dengan SSH itu sendiri, tetapi dengan SFTP. Ini dimanifestasikan oleh fakta bahwa koneksi SSH bekerja dengan benar tetapi SFTP selalu gagal. Mencoba hasil SFTP diReceived unexpected end-of-file from SFTP server

Masalahnya tidak terkait dengan string skrip login yang dihasilkan (misalnya ~/.bashrc).

Masalahnya hadir dari semua pengguna (termasuk root).

Ini konfigurasi sshd saya ( /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-serverpaket diinstal. ( sudo apt-get install openssh-sftp-server)

Slava Knyazev
sumber
1) Apakah Anda dapat sftplangsung ke sana? Apa isi ~/.bashrcatau file startup lainnya di direktori home server Anda?
Jakuje
@ Jakuje Hmm .. masalah ini tampaknya sebenarnya dengan sftp. Mencoba dengan filezilla memberiReceived unexpected end-of-file from SFTP server
Slava Knyazev
2) Bisakah Anda sftpke pengguna yang berbeda? 3) Bagaimana sshd_configpenampilan Anda di server? 4) Bagaimana ~/.bashrcpenampilan Anda ?
Jakuje
@ Jakuje Sama 2) Tidak. Kesalahan yang sama untuk semua pengguna. 3) pastebin.com/raw/ujNk3fVR 4) bashrc tidak mendapatkan relevansi selain di sini: pastebin.com/raw/mUD3DWmG
Slava Knyazev
Apa yang Anda dapatkan dari which sftp-server. Subsistem seharusnya Subsystem sftp /usr/lib/openssh/sftp-server. Apakah Anda sudah sftp-servermenginstal? apt-get install openssh-sftp-server.
Jakuje

Jawaban:

5

SubsystemNilai Anda di sshd_configsalah.

Seharusnya Subsystem sftp /usr/lib/openssh/sftp-serveratau internal-sftp. Cobalah untuk mengubah nilai /etc/ssh/sshd_configini, restart layanan ssh dan coba sekali lagi.

Jakuje
sumber
5

Pertanyaan lama, tetapi yang pertama muncul untuk masalah ini.

Masalah saya adalah server diperlukan otentikasi kunci, tetapi saya menjalankan perintah menggunakan sudodan menentukan -o IdentityFile=~/.ssh/id_rsa, artinya ~diperluas ke rumah root, bukan milik saya.

Menentukan path lengkap berfungsi, dan saya membayangkan menggunakan $HOMEakan terlalu (karena itu akan diperluas sebelumnya).

BlueDrink9
sumber
Terima kasih, bisa memasang dengan tip ini.
Bemmu
0

Jika Anda dapat menghubungkan host melalui ssh dengan sendirinya:

ssh xxx.xxx.xxx.xxx

Anda mungkin diminta untuk menyimpan kunci, Anda harus mengetik YA, bukan hanya Y. Anda kemudian akan diminta untuk nama pengguna dan kata sandi untuk pengguna pada mesin jarak jauh itu.

Gunakan yang Anda coba lakukan sshfs, posting kembali hasil Anda.

Jika Anda mendapat koneksi ditolak, saya kira Anda belum menginstal SSH pada komputer jarak jauh. Buka ssh dapat diinstal dengan perintah ini, jalankan di komputer jarak jauh:

sudo apt install openssh-server
Christopher Angulo-Bertram
sumber
1
Ya saya bisa ssh untuk itu. "Kesalahan yang sama terjadi jika saya SSH ke dalam sistem [..]" Tersirat itu. Server setup dengan benar sejauh yang saya tahu
Slava Knyazev
OK, saya mungkin ketinggalan membaca komentar Anda, apakah Anda berhasil login dengan ssh, atau seperti yang saya baca di sini: "Kesalahan yang sama terjadi jika saya SSH ke dalam sistem [..]"
Christopher Angulo-Bertram
Saya bisa ssh untuk itu baik
Slava Knyazev
OK, melihat baris perintah Anda mungkin Anda memiliki ruang ekstra? Saya menemukan ini di saluran, saya akan mengirimkan Anda tautan. sshfs <username> @ <ipaddress>: / remotepath ~ / remoteserv Saya menemukannya di sini: howtogeek.com/howto/ubuntu/... Ada banyak instruksi lain tetapi dalam pertanyaan awal Anda, perintah Anda tampaknya memiliki ruang ekstra
Christopher Angulo-Bertram
Saya juga tidak melihat di mana Anda terhubung ke sistem lokal Anda sebagai direktori. Kode Anda, kode saya untuk diikuti: sshfs [email protected]: / testfo
Christopher Angulo-Bertram
0

Saya tidak yakin apakah itu membantu, tetapi saya memiliki masalah yang sama

remote host has disconnected

dan setelah beberapa googling & browsing saya menyadari, bahwa sebenarnya saya ssh terhubung melalui port yang berbeda

Jadi, misalnya, saya harus terhubung melalui ssh (misalnya, dengan asumsi nomor port 1234):

ssh [email protected] -p 1234

alih-alih ssh standar ketika nomor port adalah 22. Jadi hal yang sama harus digunakan untuk koneksi sshfs:

sshfs [email protected]:/ ~/testfolder -p 1234

Itu memecahkan masalah saya.

imiejego44
sumber
0

Satu lagi penyebab yang terjadi pada saya adalah dropbearmultibiner itu sendiri tidak memiliki string /usr/libexec/sftp-serveryang hilang di sekitar build 33600 DD-WRT. Periksa apakah kata biner menyebutkan file ini atau tidak akan berfungsi meskipun itu ada. Saya harus menggunakan biner dari build 33525 dan membuat peluncur yang membunuh dropbear kereta biasa, kemudian menjalankan yang ini. Anda membuat symlink yang disebut dropbearmenunjuk ke dropbearmulti. Anda menghentikan yang sekarang dengan stopservice sshd, lalu jalankan yang bekerja. Lihat seperti psapa parameter yang tepat. Cara terbaik untuk memilikinya di jffs (atau membongkar ke / tmp) sehingga Anda masih bisa umountdrive apa pun.

Zdenek
sumber