Saya mencoba me-mount sftp
koneksi ke folder menggunakan sshfs
dengan 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 ~/.ssh
direktori 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-server
paket diinstal. ( sudo apt-get install openssh-sftp-server
)
sftp
langsung ke sana? Apa isi~/.bashrc
atau file startup lainnya di direktori home server Anda?Received unexpected end-of-file from SFTP server
sftp
ke pengguna yang berbeda? 3) Bagaimanasshd_config
penampilan Anda di server? 4) Bagaimana~/.bashrc
penampilan Anda ?which sftp-server
. Subsistem seharusnyaSubsystem sftp /usr/lib/openssh/sftp-server
. Apakah Anda sudahsftp-server
menginstal?apt-get install openssh-sftp-server
.Jawaban:
Subsystem
Nilai Anda disshd_config
salah.Seharusnya
Subsystem sftp /usr/lib/openssh/sftp-server
atauinternal-sftp
. Cobalah untuk mengubah nilai/etc/ssh/sshd_config
ini, restart layanan ssh dan coba sekali lagi.sumber
Pertanyaan lama, tetapi yang pertama muncul untuk masalah ini.
Masalah saya adalah server diperlukan otentikasi kunci, tetapi saya menjalankan perintah menggunakan
sudo
dan menentukan-o IdentityFile=~/.ssh/id_rsa
, artinya~
diperluas ke rumah root, bukan milik saya.Menentukan path lengkap berfungsi, dan saya membayangkan menggunakan
$HOME
akan terlalu (karena itu akan diperluas sebelumnya).sumber
Anda akan mendapatkan kesalahan ini jika server jarak jauh menjalankan Dropbear daripada OpenSSH.
Dari sini: /unix/363540/mount-a-filesystem-using-sshfs-using-the-dropbear-server-on-yocto-firmware
sumber
Jika Anda dapat menghubungkan host melalui ssh dengan sendirinya:
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:
sumber
Saya tidak yakin apakah itu membantu, tetapi saya memiliki masalah yang sama
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):
alih-alih ssh standar ketika nomor port adalah 22. Jadi hal yang sama harus digunakan untuk koneksi sshfs:
Itu memecahkan masalah saya.
sumber
Satu lagi penyebab yang terjadi pada saya adalah
dropbearmulti
biner itu sendiri tidak memiliki string/usr/libexec/sftp-server
yang 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 disebutdropbear
menunjuk kedropbearmulti
. Anda menghentikan yang sekarang denganstopservice sshd
, lalu jalankan yang bekerja. Lihat sepertips
apa parameter yang tepat. Cara terbaik untuk memilikinya di jffs (atau membongkar ke / tmp) sehingga Anda masih bisaumount
drive apa pun.sumber