Thiết lập lại kết nối bằng ngang hàng bằng sshfs


32

Tôi đang sử dụng một ngòi nổ / sshfs hoạt động tốt cho đến nay. Bây giờ tôi phải cài đặt lại hệ thống máy chủ và đột nhiên gặp read: Connection reset by peerlỗi cổ điển . Tôi đang sử dụng xác thực khóa công khai và sao chép khóa của mình vào hệ thống mới được cài đặt. Đăng nhập ssh bình thường hoạt động tốt. Tôi đã thay đổi nhật ký để gỡ lỗi nhưng thật đáng buồn là điều này không cung cấp cho tôi bất kỳ thông tin hữu ích nào:

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

Có ai có một ý tưởng những gì tôi đang thiếu ở đây?

CẬP NHẬT

Việc auth.loggỡ lỗi cấp 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

CẬP NHẬT

Tôi đã thử sshfsgắn kết thủ công và tôi cũng nhận được read: Connection reset by peer. Sau đó tôi đã thêm các tùy chọn gỡ lỗi và cũng có Permission denied (publickey).. Điều này là lạ vì khóa công khai được đặt đúng chỗ và hoạt động tốt. Tôi cũng sử dụng người dùng của mình cho kết nối ssh và chỉ định thủ công tệp khóa riêng. Đây có thể là một vấn đề với tài khoản root không thể truy cập khóa công khai chính xác trên máy chủ ở đâu đó? Tôi đang thi hành

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

và phần nhật ký liên quan là

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
Đầu ra trông giống hệt như từ một phiên ssh từ chối kết nối do không khớp dấu vân tay của khóa máy chủ (hoặc một khóa không xác định). Liệu sftpmáy chủ có hoạt động chính xác không?
peterph

Tôi đã thử sftp với cả Nautilus ( Connect to Server...tùy chọn) và Filezilla. Nó hoạt động tốt. Mặc dù Filezilla đã hỏi tôi về một khóa máy chủ không xác định.
André Stannek

Hãy thử sftptrực tiếp - đó là những gì SSHFS sử dụng.
peterph

4
Trông giống với tôi. Bạn đã cố gắng để có được một số thông tin gỡ lỗi từ khách hàng? sshfs -odebug,sshfs_debug,loglevel=debug ...có thể thực hiện thủ thuật (lấy từ sourceforge.net/apps/mediawiki/fuse/index.php?title=SshfsFaq ).
peterph

1
@peterph đã có ý tưởng đó ;-) Xem bản cập nhật thứ hai của tôi. Tôi chỉ bỏ qua các tham số gỡ lỗi trong lệnh được đăng ở đây nhưng tôi đã thực hiện nó với chúng.
André Stannek

Câu trả lời:


21

Tôi đã sử dụng -F /path/to/configtùy chọn. Câu trả lời là trong tập tin cấu hình của tôi, nơi tôi có

IdentityFile ~/.ssh/id_rsa

mà không làm việc Đường dẫn tuyệt đối là bắt buộc:

IdentityFile /home/user/.ssh/id_rsa

man ssh-configrõ ràng cho phép dấu ngã choIdentityFile
CharlesB

4
@CharlesB Tôi đã thử cả hai cách và tôi đảm bảo với bạn câu trả lời của tôi là hợp lệ. Và tôi thấy những gì bạn đang tham khảo trong các trang nam. Có lẽ đó là một lỗi khi chạy với sudo? (vì tôi là)
Sanchke Dellowar

7
chắc chắn, nếu bạn đang chạy sshfs với sudo, thì dấu ngã là nhà của người dùng root. sau đó bạn cần xác định đường dẫn tuyệt đối.
CharlesB

1
Ngay cả khi bạn sử dụng các đường dẫn tuyệt đối trong ~/.ssh/configtệp của mình , việc chạy sudo sshfstheo mặc định sẽ đọc /root/.ssh/configtệp gốc (nếu có). Bạn cần chuyển đường dẫn rõ ràng đến tệp cấu hình của mình thông qua -F.
Dan Dascalescu

14

Sau nhiều lần thử, hóa ra người dùng khách của tôi không ở trong fusenhóm. Sau khi tôi thêm nó với sudo usermod -a -G fuse myusermount hoạt động tốt trở lại. Đừng hỏi tôi làm thế nào nó có thể hoạt động trước khi cài đặt lại máy chủ. Cảm ơn tất cả sự giúp đỡ của bạn!


2
Đây là người dùng trên hệ thống tập tin cục bộ hoặc từ xa?
Woodrow Barlow

1
@WoodrowBarlow thành thật mà nói tôi không biết nữa: D Dự đoán tốt nhất của tôi sẽ là địa phương, vì đây là nơi bạn sử dụng cầu chì.
André Stannek

hoặcgpasswd --add USER fuse
giảm tốc

Trong trường hợp của tôi, tôi chỉ cần số cổng. Điều này đã được thêm vào với -ptùy chọn.
Nghịch lý

11

Vì thông báo lỗi này là thông báo mặc định khi kết nối ssh không thành công, nên câu trả lời chung chung nhất (theo nhận xét @peterph) là điều tra bằng cách sử dụng ít nhất -odebug:

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

ví dụ

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

Như đã nói ở nơi khác, nguyên nhân phổ biến bao gồm thiếu allow_othertrong fuse.confhoặc thiếu fusethành viên nhóm (mặc dù có thể không cần thiết nữa trên Ubuntu 18,04?)

Trong trường hợp của tôi, điều này được in:

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

... chỉ vào một tùy chọn Mật mã không được hỗ trợ (hoạt động trên fedora nhưng không phải trên Ubuntu)


Sử dụng -o debug, tôi đã nhận được dòng lệnh 0: Mã hóa SSH2 xấu 'arcfour'.
Salathiel Genèse 27/12/18

8

Tôi đã có cùng một vấn đề ngày hôm nay. sshkết nối là OK, sshfslà không. Máy chủ SSH của tôi là Qnap NAS (TS-228).

Sự cố đã được khắc phục bằng cách bật SFTP trên thiết bị NAS.

Cài đặt bổ sung xuất hiện trong sshd_config:

Subsystem sftp /usr/libexec/sftp-server

1
Giải pháp đó không hiệu quả với tôi. Vì vậy, tôi đánh giá cao việc có một cái gì đó khác để thử.
con nhím mất trí nhớ

Kích hoạt SFTP trên NAS Synology của tôi cũng đã khắc phục lỗi cho tôi. NHƯNG nội dung hiển thị trong thư mục được gắn không giống như khi kết nối trực tiếp qua ssh. Các thư mục bị thiếu và root không thể truy cập được. Bummer.
Heinrich Ulbricht

5

Tôi thấy vấn đề của mình, tương tự, phải thực hiện với tệp cấu hình cầu chì trong:

/etc/fuse.conf

Tôi đã phải bỏ bình luận:

user_allow_other

5

Chỉ trong trường hợp ai đó vấp phải chủ đề này: Tôi đã read: Connection reset by peergặp lỗi này vì tên máy chủ không thể giải quyết được (Tôi không sử dụng máy chủ đủ điều kiện). Sử dụng đúng tên máy chủ đã giải quyết được vấn đề - thông báo lỗi hoàn toàn sai lệch sau đó.

Một thử nghiệm tốt là ssh vào máy trước khi chạy lệnh sshfs, nếu điều đó thậm chí không hoạt động thì sshfs cũng không hoạt động.


sshfs server-ssh-alias: / some / dir / mnt không hoạt động với tôi, nhưng sshfs real.servername.org:/some/dir / mnt đã làm việc cho tôi. (kết hợp với user_allow_other)
Brian C.

2

Tôi đã gặp lỗi này và đã thử các phương pháp trên và thất bại trong việc làm cho nó hoạt động.

Vấn đề là máy chủ không chấp nhận ssh tại cổng 22. Tôi đã sử dụng:

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

và nó đã giải quyết vấn đề.


1
Xin đừng downvote mà không nói lý do tại sao. Đây là một điều hợp lý để kiểm tra.
con nhím mất trí nhớ

2

Lỗi của tôi là máy chủ. Hệ thống con sftp cho sshd rõ ràng được mặc định là không có sẵn trên centos 7.6.xx mới hơn. đã sửa bằng cách xóa "#" từ phía trước phần sau trong / etc / ssh / sshd_config

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

cảm ơn eddygeek cho công thức -odebug để giúp tìm ra vấn đề này. Tương tự như GEOM ở trên nhưng không cụ thể đối với Qnap.


2

Có cùng một lỗi trong khi chạy sudo sshfs [...] myhost: /mnt/myhost, nơi myhostđược xác định trong ~/.ssh/configcác tập tin của tôi .

Vấn đề là việc chạy sudo sshfskhông tìm trong thư mục nhà của tôi ~/.ssh/config, nhưng trong roots. Giải pháp là chuyển một cách rõ ràng tệp cấu hình thông qua -F:

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

1

Tôi đã xóa dấu vân tay của máy chủ khỏi /home/user/.ssh/ Unknown_hosts (thực sự đã xóa toàn bộ tệp) và nó đã sửa nó ... vì dấu vân tay đã thay đổi. sử dụng ssh để kết nối với máy chủ đã cho một lý do rõ ràng về lý do tại sao nó không kết nối.


1

Đối với những người đang tìm kiếm một giải pháp rất đơn giản: Sau khi chạy sshfs ở chế độ gỡ lỗi, tôi thấy rằng kết nối của tôi đã bị hỏng.

Bật chế độ dài dòng với công tắc:

-o debug

1

Tôi gặp vấn đề tương tự và khi tôi kiểm tra cấu hình mạng, hệ thống sẽ bị mất địa chỉ cổng. Vì vậy, tôi đã chạy lệnh dưới đây

tuyến đường thêm gw 192.169.0.254 mặc định

và sau đó khởi động lại hệ thống.

Vấn đề được giải quyết sau khi khởi động lại.


2
Bạn có "thiết lập lại kết nối bằng" với một cổng xấu?!?
Jeff Schaller

1

Trong trường hợp của tôi, đó là giao diện máy chủ không hoạt động sau một thời gian dài khởi động. Máy chủ được kết nối với cổng chuyển đổi của Cisco với chế độ trung kế. Vì bất kỳ cổng trung kế nào cũng sẽ thực hiện các kiểm tra khác nhau trước khi thực sự trở thành LÊN (thường là hơn 30 giây), điều này đã dẫn đến thông báo lỗi thiết lập lại kết nối ở trên.

Giải pháp của tôi là thay đổi cổng chuyển sang chế độ truy cập spanning-tree portfast, vì trong môi trường của tôi, chế độ trung kế là không cần thiết cho máy chủ này.

Tôi cũng phát hiện ra vấn đề này bằng cách sử dụng tham số gỡ lỗi cho sshfs.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.