Bağlantı sshfs kullanarak eş tarafından sıfırlandı


32

Şimdiye kadar iyi sonuç veren bir sigorta / sshfs bağlantısı kullanıyorum. Şimdi sunucu sistemini yeniden yüklemek zorunda kaldım ve aniden klasik read: Connection reset by peerhatayı alıyorum. Genel anahtar kimlik doğrulaması kullanıyorum ve anahtarımı yeni kurulan sisteme kopyaladım. Normal ssh girişi iyi çalışıyor. Günlüğü hata ayıklamak için değiştirdim ama ne yazık ki bu bana herhangi bir faydalı bilgi vermedi:

sshd[2077]: debug1: Forked child 2198.
sshd[2198]: Set /proc/self/oom_score_adj to 0
sshd[2198]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
sshd[2198]: debug1: inetd sockets after dupping: 3, 3
sshd[2198]: Connection from 192.168.1.6 port 47991
sshd[2198]: debug1: Client protocol version 2.0; client software version OpenSSH_6.1p1 Debian-4
sshd[2198]: debug1: match: OpenSSH_6.1p1 Debian-4 pat OpenSSH*
sshd[2198]: debug1: Enabling compatibility mode for protocol 2.0
sshd[2198]: debug1: Local version string SSH-2.0-OpenSSH_6.1p1 Debian-4
sshd[2198]: debug1: permanently_set_uid: 103/65534 [preauth]
sshd[2198]: debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
sshd[2198]: debug1: SSH2_MSG_KEXINIT sent [preauth]
sshd[2198]: debug1: SSH2_MSG_KEXINIT received [preauth]
sshd[2198]: debug1: kex: client->server aes128-ctr hmac-md5 none [preauth]
sshd[2198]: debug1: kex: server->client aes128-ctr hmac-md5 none [preauth]
sshd[2198]: debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
sshd[2198]: debug1: SSH2_MSG_NEWKEYS sent [preauth]
sshd[2198]: debug1: expecting SSH2_MSG_NEWKEYS [preauth]
sshd[2198]: Connection closed by 192.168.1.6 [preauth]
sshd[2198]: debug1: do_cleanup [preauth]
sshd[2198]: debug1: monitor_read_log: child log fd closed
sshd[2198]: debug1: do_cleanup
sshd[2198]: debug1: Killing privsep child 2199

Burada ne kaçırdığım hakkında bir fikri olan var mı?

GÜNCELLEŞTİRME

auth.logAyıklama seviyesi 3:

sshd[2455]: debug3: fd 5 is not O_NONBLOCK
sshd[2455]: debug1: Forked child 2456.
sshd[2455]: debug3: send_rexec_state: entering fd = 8 config len 751
sshd[2455]: debug3: ssh_msg_send: type 0
sshd[2455]: debug3: send_rexec_state: done
sshd[2456]: debug3: oom_adjust_restore
sshd[2456]: Set /proc/self/oom_score_adj to 0
sshd[2456]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
sshd[2456]: debug1: inetd sockets after dupping: 3, 3
sshd[2456]: Connection from 192.168.1.6 port 50037
sshd[2456]: debug1: Client protocol version 2.0; client software version OpenSSH_6.1p1 Debian-4
sshd[2456]: debug1: match: OpenSSH_6.1p1 Debian-4 pat OpenSSH*
sshd[2456]: debug1: Enabling compatibility mode for protocol 2.0
sshd[2456]: debug1: Local version string SSH-2.0-OpenSSH_6.1p1 Debian-4
sshd[2456]: debug2: fd 3 setting O_NONBLOCK
sshd[2456]: debug2: Network child is on pid 2457
sshd[2456]: debug3: preauth child monitor started
sshd[2456]: debug3: privsep user:group 103:65534 [preauth]
sshd[2456]: debug1: permanently_set_uid: 103/65534 [preauth]
sshd[2456]: debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
sshd[2456]: debug1: SSH2_MSG_KEXINIT sent [preauth]
sshd[2456]: debug1: SSH2_MSG_KEXINIT received [preauth]
sshd[2456]: debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se [preauth]
sshd[2456]: debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se [preauth]
sshd[2456]: debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: none,zlib@openssh.com [preauth]
sshd[2456]: debug2: kex_parse_kexinit: none,zlib@openssh.com [preauth]
sshd[2456]: debug2: kex_parse_kexinit:  [preauth]
sshd[2456]: debug2: kex_parse_kexinit:  [preauth]
sshd[2456]: debug2: kex_parse_kexinit: first_kex_follows 0  [preauth]
sshd[2456]: debug2: kex_parse_kexinit: reserved 0  [preauth]
sshd[2456]: debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss [preauth]
sshd[2456]: debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se [preauth]
sshd[2456]: debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se [preauth]
sshd[2456]: debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 [preauth]
sshd[2456]: debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib [preauth]
sshd[2456]: debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib [preauth]
sshd[2456]: debug2: kex_parse_kexinit:  [preauth]
sshd[2456]: debug2: kex_parse_kexinit:  [preauth]
sshd[2456]: debug2: kex_parse_kexinit: first_kex_follows 0  [preauth]
sshd[2456]: debug2: kex_parse_kexinit: reserved 0  [preauth]
sshd[2456]: debug2: mac_setup: found hmac-md5 [preauth]
sshd[2456]: debug1: kex: client->server aes128-ctr hmac-md5 none [preauth]
sshd[2456]: debug2: mac_setup: found hmac-md5 [preauth]
sshd[2456]: debug1: kex: server->client aes128-ctr hmac-md5 none [preauth]
sshd[2456]: debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
sshd[2456]: debug3: mm_key_sign entering [preauth]
sshd[2456]: debug3: mm_request_send entering: type 5 [preauth]
sshd[2456]: debug3: mm_key_sign: waiting for MONITOR_ANS_SIGN [preauth]
sshd[2456]: debug3: mm_request_receive_expect entering: type 6 [preauth]
sshd[2456]: debug3: mm_request_receive entering [preauth]
sshd[2456]: debug3: mm_request_receive entering
sshd[2456]: debug3: monitor_read: checking request 5
sshd[2456]: debug3: mm_answer_sign
sshd[2456]: debug3: mm_answer_sign: signature 0x7f9b687c7680(100)
sshd[2456]: debug3: mm_request_send entering: type 6
sshd[2456]: debug2: monitor_read: 5 used once, disabling now
sshd[2456]: debug2: kex_derive_keys [preauth]
sshd[2456]: debug2: set_newkeys: mode 1 [preauth]
sshd[2456]: debug1: SSH2_MSG_NEWKEYS sent [preauth]
sshd[2456]: debug1: expecting SSH2_MSG_NEWKEYS [preauth]
sshd[2456]: Connection closed by 192.168.1.6 [preauth]
sshd[2456]: debug1: do_cleanup [preauth]
sshd[2456]: debug3: PAM: sshpam_thread_cleanup entering [preauth]
sshd[2456]: debug1: monitor_read_log: child log fd closed
sshd[2456]: debug3: mm_request_receive entering
sshd[2456]: debug1: do_cleanup
sshd[2456]: debug3: PAM: sshpam_thread_cleanup entering
sshd[2456]: debug1: Killing privsep child 2457

GÜNCELLEŞTİRME

Manuel bir sshfsmontaj denedim ve aynı zamanda anladım read: Connection reset by peer. Sonra hata ayıklama seçeneklerini ekledim ve aldım Permission denied (publickey).. Genel anahtar yerinde olduğundan ve aksi takdirde iyi çalıştığından bu gariptir. Ayrıca, kullanıcımı ssh bağlantısı için kullanıyorum ve özel anahtar dosyasını elle belirtiyorum. Bu, kök hesabın, sunucudaki bir yerde doğru ortak anahtara erişememesinin neden olmadığı bir sorun olabilir mi? Ben yürütüyorum

sudo sshfs myuser@myserver:/mnt/foo /mnt/foo -o IdentityFile=/home/myuser/.ssh/id_rsa

ve ilgili kayıt bölümü

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
read: Connection reset by peer

1
Çıktı tam olarak sunucu anahtarı parmak izi uyumsuzluğu (veya bilinmeyen bir anahtar) nedeniyle bağlanmayı reddeden bir ssh oturumundan birine benziyor. Does sftpdoğru sunucu işe?
peterph

Hem Nautilus ( Connect to Server...seçenek) hem de Filezilla ile sftp denedim . İyi çalışıyor. Her ne kadar Filezilla benim bilinmeyen bir ana bilgisayar anahtarını sordu.
André Stannek

sftpDoğrudan deneyin - SSHFS'nin kullandığı şey budur.
peterph

4
Bana aynı görünüyor. Müşteriden hata ayıklama bilgisi almaya çalıştınız mı? sshfs -odebug,sshfs_debug,loglevel=debug ...hile yapabilir ( sourceforge.net/apps/mediawiki/fuse/index.php?title=SshfsFaq adresinden alınmıştır ).
peterph,

1
@peterph zaten bu fikre sahip ;-) İkinci güncellememe bak. Buraya gönderilen komuttaki hata ayıklama parametrelerini atladım, ancak onlarla yaptım.
André Stannek

Yanıtlar:


21

Bu -F /path/to/configseçeneği kullanıyordum . Cevap benim sahip olduğum config dosyamdaydı.

IdentityFile ~/.ssh/id_rsa

hangi işe yaramadı. Mutlak yol gereklidir:

IdentityFile /home/user/.ssh/id_rsa

man ssh-configaçıkça tilde için izin veriyorIdentityFile
CharlesB

4
@CharlesB Her iki şekilde de test ettim ve sizi temin ederim cevabım geçerli. Ve ben man sayfalarında neye atıfta bulunduğunu görüyorum. Belki sudo ile çalışırken bu bir hatadır? (çünkü ben)
Sanchke Dellowar

7
Elbette sudo ile sudo çalıştırıyorsanız, tilde root kullanıcısının evidir. o zaman mutlak yolu belirtmeniz gerekir.
CharlesB

1
~/.ssh/configDosyanızda mutlak yollar kullanıyor olsanız bile , çalıştırma sudo sshfsvarsayılan olarak kök /root/.ssh/configdosyasını (varsa) okur . Açık yolu, config dosyanızda aracılığıyla iletmeniz gerekir -F.
Dan Dascalescu

14

Çok fazla denedikten sonra müşteri kullanıcımın grupta olmadığı ortaya çıktı fuse. Ben ekledikten sonra sudo usermod -a -G fuse myuserdağı tekrar düzgün çalışıyor. Sunucuyu yeniden yüklemeden önce nasıl çalıştığını bana sorma. Tüm yardımlarınız için teşekkürler!


2
yerel veya uzak dosya sistemindeki kullanıcı bu mu?
Woodrow Barlow

1
Dürüst olmak gerekirse @WoodrowBarlow Artık bilmiyorum: D Sigortayı kullandığınız yer olduğundan en iyi tahminim yerel olurdu.
André Stannek,

veyagpasswd --add USER fuse
deceleratedcaviar

Benim durumumda, sadece port numarasına ihtiyacım vardı. Bu -pseçenek ile eklenmiştir .
Paradox

11

Bu hata mesajı, ssh bağlantısı başarısız olduğunda varsayılan mesaj olduğu için, en genel cevap (@peterph yorumuna göre) en azından aşağıdakileri kullanarak araştırmaktır -odebug:

sshfs -odebug,sshfs_debug,loglevel=debug ...

Örneğin

sshfs -odebug,sshfs_debug,loglevel=debug -o Ciphers=arcfour -o Compression=no -o allow_root -o transform_symlinks localhost:/ /mnt/your_mount_point

Başka yerde söylediğim gibi, yaygın nedenleri eksik dahil allow_otherbölgesi fuse.confveya eksik fusegrup üyeliği (yani Ubuntu 18.04 üzerinde artık gerekli olmayabilir rağmen?)

Benim durumumda bu basılmış:

SSHFS version 2.8 FUSE library version: 2.9.7 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-ologlevel=debug> <-oIdentityFile=~/.ssh/id_rsa> <-oCiphers=arcfour> <-oCompression=no> <-2> <localhost> <-s> <sftp> command-line line 0: Bad SSH2 cipher spec 'arcfour'. read: Connection reset by peer

... desteklenmeyen bir Şifreleme seçeneğine işaret ediyor (fedorada çalışıyor ancak ubuntu'da değil)


Kullanarak -o debug, komut satırı 0 var: Kötü SSH2 şifreleme spec 'arcfour'.
Salathiel Genèse,

8

Bugün aynı sorunu yaşadım. sshbağlantı uygun sshfsdeğil. SSH sunucum Qnap NAS (TS-228).

NAS cihazında SFTP etkinleştirilerek sorun giderildi .

Ek ayar göründü sshd_config:

Subsystem sftp /usr/libexec/sftp-server

1
Bu çözüm benim için işe yaramıyor. Bu yüzden denemek için başka bir şey için teşekkür ederiz.
demirli kirpi

Synology NAS'ımda SFTP'yi etkinleştirmek de benim için hatayı çözdü. AMA takılı klasörde görüntülenen içerik doğrudan ssh ile bağlanırken aynı değildir. Klasörler eksik ve kök erişilemiyor. Aylak.
Heinrich Ulbricht

5

Benzer olan, sigorta konfigürasyon dosyasıyla ilgili olan sorunumu buldum:

/etc/fuse.conf

Yorum yapmak zorunda değildim:

user_allow_other

5

Sadece birinin bu konuya tökezlemesi durumunda: Bu read: Connection reset by peerhatayı aldım çünkü ana bilgisayar adı çözülemezdi (Tam nitelikli bir ana bilgisayar kullanmıyordum). Doğru ana bilgisayar adını kullanarak sorunu çözdü - hata mesajı o zaman tamamen yanıltıcıdır.

İyi bir sınama sshfs komutunu çalıştırmadan önce makineye ssh işlemi yapmaktır, eğer çalışmazsa sshfs de çalışmaz.


sshfs server-ssh-alias: / some / dir / mnt benim için işe yaramadı ama sshfs real.servername.org:/some/dir / mnt benim için çalıştı. (user_allow_other ile birlikte kullanılır)
Brian C.

2

Bu hatayı aldım ve yukarıdaki yöntemleri denedim ve çalışmasında başarısız oldum.

Sorun, sunucunun 22 numaralı bağlantı noktasında ssh'yi kabul etmemesiydi.

$sshfs -p 2222 user@server:/path/to/folder ~/local/path

ve sorunu çözdü.


1
Lütfen nedenini söylemeden indirmeyin. Bu kontrol edilmesi makul bir şey.
demirli kirpi

2

Benim hatam sunucu tarafındaydı. Sshd için sftp alt sistemi görünüşte daha yeni centos 7.6.xx'de mevcut değil olarak varsayılan olarak ayarlanmıştır. / etc / ssh / sshd_config içindeki "#" ifadesini aşağıdakilerden önden kaldırarak düzeltildi.

Subsystem sftp /usr/libexec/openssh/sftp-server

Bu sorunu bulmak için -odebug tarifi için eddygeek sayesinde. Yukarıdaki GEOM ile aynıdır ancak Qnap'a özgü değildir.


2

Çalışırken aynı hata var sudo sshfs [...] myhost: /mnt/myhost, nerede myhostbenim tanımlanır ~/.ssh/configdosyaları.

Sorun şu ki sudo sshfs, çalışanların ana dizinde ~/.ssh/configdeğil,root s. Çözüm, açıkça config dosyasını aşağıdakiler aracılığıyla iletmekti -F:

sudo sshfs -F /home/dandv/.ssh/config [...] myhost: /mnt/myhost

1

Ana makinenin parmak izini /home/user/.ssh/known_hosts adresinden (aslında tüm dosyayı sildim) sildim ve düzeltildi ... çünkü parmak izi değişti. Ana bilgisayara bağlanmak için ssh kullanılması, neden bağlanmamasının net bir nedenini verdi.


1

Çok arayanlar için basit bir çözüm : sshfs'i debug modunda çalıştırdıktan sonra bağlantımın koptuğunu buldum.

Anahtar ile ayrıntılı modu açın:

-o debug

1

Benzer bir sorun yaşadım ve ağ yapılandırmasını kontrol ederken, sistem ağ geçidi adresini nasıl kaybettiğini gösterdi. Bu yüzden aşağıdaki komutu koştum

rota ekleme varsayılan gw 192.169.0.254

ve daha sonra sistemi yeniden başlattı .

Yeniden başlatmanın ardından sorun çözüldü.


2
Kötü bir ağ geçidi ile "eş tarafından bağlantı sıfırlama" var?
Jeff Schaller

1

Benim durumumda sunucu arayüzü başlangıçta uzun bir süre sonra kalkmıyordu. Sunucu, gövde modunda bir Cisco anahtar bağlantı noktasına bağlı. Herhangi bir ana hat portu aslında UP (YUKARI) (genellikle 30 saniyeden fazla) olmadan önce çeşitli kontroller yapacağı için bu, yukarıdaki bağlantı sıfırlama hata mesajına neden oldu.

Benim çözümüm, anahtar portunu erişim moduna değiştirmekti spanning-tree portfast, çünkü ortamımda ana hat modu bu sunucu için gereksizdi.

Ben de bu sorunu sshfs için debugging parametresini kullanarak öğrendim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.