Làm cách nào để sửa lỗi ssh_exchange_identification: đọc: Thiết lập lại kết nối do lỗi ngang hàng?


21

Tôi không thể kết nối với máy chủ của mình qua ssh bằng máy tính của mình, nhưng tôi có thể kết nối với máy chủ này qua điện thoại di động bằng ứng dụng termius. Tôi đã kiểm tra /etc/hosts.allow/etc/hosts.denyiptables của tôi, và tôi đã tìm kiếm trên google, có vẻ như không có câu trả lời nào phù hợp với vấn đề này. Tôi không biết làm thế nào để giải quyết nó, đây là ssh -v 183.17.228.80đầu ra

debug1: Connecting to 183.17.228.80 [183.17.228.80] port 22.
debug1: Connection established.=======================   
debug1: permanently_set_uid: 0/0   
debug1: SELinux support disabled  
debug1: key_load_public: No such file or directory    
debug1: identity file /root/.ssh/id_rsa type -1    
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_rsa-cert type -1      
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa-cert type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa type -1  
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa-cert type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519 type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519-cert type -1  
debug1: Enabling compatibility mode for protocol 2.0  
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2   
ssh_exchange_identification: read: Connection reset by peer

Tôi có thể ping máy chủ này, đây là telnet

telnet 183.17.228.29 22  
Trying 183.17.228.29...  
Connected to 183.17.228.29.  
Escape character is '^]'.                                                                 
Connection closed by foreign host.

Có thể muốn kiểm tra xem bạn đã cài đặt Denyhost chưa, Denyhost có quyền cho phép và từ chối các tệp lưu trữ.
Robby1212

Bạn có chắc chắn rằng phần mềm bạn đang chạy trên PC tương thích với tất cả các chế độ mã hóa SSH không?
Tharaka Devinda

như tôi đã đề cập, tôi đã kiểm tra tệp máy chủ, không phải cho
Denyhosts

Tôi không chắc chắn, có thể thuật toán mã hóa là khác nhau, nhưng máy khách của tôi đã bị hỏng .... nhưng tôi có thể ssh đến cùng một máy chủ bằng cách kết thúc trên iOS
user3054879

Từ đường dẫn của các tệp chính, tôi cho rằng bạn đang kết nối như root. Điều này thường không được kích hoạt; nhìn vào cấu hình sshd của bạn. ssh -vvvcó thể cung cấp cho bạn thêm thông tin.
nực cười

Câu trả lời:


12

Chỉ cần khởi động lại máy chủ của bạn mà bạn muốn ssh. Nó làm việc cho tôi, trước đây tôi đã phải đối mặt với cùng một vấn đề.


1
Không thể tìm thấy nguyên nhân gốc rễ, nhưng khởi động lại làm việc cho tôi.
Raghavendra N

2
Tôi gặp vấn đề tương tự khi ssh đến máy chủ miễn phí của tôi trên AWS. Nó được gây ra bởi máy chủ là hết bộ nhớ. Khởi động lại công trình.
leon

@thistlejack, khởi động lại hoạt động với tôi và là một sửa chữa nhanh chóng dễ dàng. Không có gì ghê gớm về điều đó. Quả thực tôi không biết điều gì gây ra vấn đề, nhưng khởi động lại đã khắc phục điều gì đó.
CousinCocaine

Nếu khởi động lại có thể không phải là vấn đề cấu hình, mà là vấn đề tài nguyên. Có lẽ việc tăng mức độ ưu tiên của ssh có thể đã thực hiện thủ thuật.
JohnRos

1
khởi động lại máy chủ là một đề nghị rất rất xấu.
Hossein Vatani

7

Điều đó thực sự có nghĩa là IP của bạn bị máy chủ đưa vào danh sách đen. Cố gắng đưa danh sách trắng địa chỉ IP của bạn để có thể đăng nhập. Bạn có thể xem danh sách / etc / hosts để xem địa chỉ IP của máy chủ của bạn đã thay đổi chưa.


7
Đó thực sự không phải là trường hợp.
sempaiscuba

2
Điều này dường như đúng với tôi. Tôi phát hiện ra rằng máy chủ Cloudways của tôi đã đưa vào danh sách đen IP nhà của tôi và tôi cần phải tự đưa nó vào danh sách trắng.
Ryan

Vấn đề biến mất sau vài giờ, tôi không biết tại sao nhưng tôi không cần phải khởi động lại.
Salem F

Cảm ơn bạn đã bình luận lại: "Máy chủ Cloudways đã đưa vào danh sách đen IP nhà của tôi" - điều này vừa xảy ra với chúng tôi - được liệt kê theo cách thủ công và tất cả đều tốt.
Jules Matthews

1

Lỗi trên xảy ra khi bạn bị giới hạn lỗi khi thử xác thực với máy chủ và bạn có quá nhiều khóa ssh trên máy khách của mình (nhiều hơn giá trị của MaxAuthTries)

Những gì bạn có thể thử là tăng giá trị của MaxAuthTries và khởi động lại sshd daemon. Hoặc bạn có thể giới hạn số lượng khóa trong ~/.sshthư mục của mình và sử dụng thư mục con và ~/.ssh/configtệp để xác định khóa cho mỗi máy chủ / nhóm máy chủ


Tôi đã thử cách này nhưng không thành công, thực tế tôi gần như đã thử mọi phương pháp tôi có thể tìm thấy trên internet, tôi đoán khóa là thuật toán khử nhiễu mã hóa, nhưng tôi không biết cách khắc phục
user3054879

2
bạn đã thử gì vui lòng cập nhật câu hỏi của bạn
Romeo Ninov

1

Cách tôi giải quyết vấn đề là tôi đã đi đến máy chủ và chạy một vài lệnh.

sudo mkdir /var/run/sshd
sudo chmod 755 -R /var/run/sshd
sudo service ssh restart

Tôi đã kết nối với máy sau đó.


1

Tôi đã có điều tương tự xảy ra, và cần phải ssh -v 'ip addr' và sau đó tôi thấy rằng tôi cần phải chấp nhận chứng chỉ. Cũng có thể là một putty ACL hoặc quy tắc chặn tuyến đường: ví dụ -

Putty client có 10.xxx addr với tường lửa chặn mạng doanh nghiệp nói chuyện với máy chủ DMZ, nhưng điện thoại di động của bạn ở 58.xxx bất cứ địa chỉ IP công cộng nào cũng có thể nói chuyện với máy chủ dmz mà bạn đang cố gắng tiếp cận.

Vì vậy, tôi sẽ xem thông tin ssh -v khi bạn cố gắng kết nối lại, xem bạn có thể lượm lặt được bất kỳ thông tin nào không, và sau đó kiểm tra xem có quy tắc nào ngăn bạn truy cập máy chủ của bạn ở cấp độ tường lửa hoặc bộ định tuyến không, không tập tin denyhosts trên chính máy chủ.


0

Tôi đang sử dụng điểm nóng di động của mình để kết nối với web, trong khi tôi đang làm việc thì bảng điều khiển bị đóng băng và tôi không thể kết nối được nữa. ssh_exchange_identification: read: Connection reset by peer

Tôi đã cố gắng thiết lập lại SRV nhưng không được

Chỉ khi tôi thay đổi kết nối mạng của mình (thành một điểm phát sóng trên một di động khác), tôi mới có thể kết nối lại.

LƯU Ý: Tôi vẫn có thể sử dụng kết nối cũ để kết nối với SRV trên AWS khác, lạ ...


0

Để giải quyết vấn đề, tiến hành như sau:

  1. Khởi động lại máy chủ của bạn từ thiết bị đầu cuối trực tuyến của máy chủ.

Nếu điều này không làm việc,

  1. Chỉnh sửa tập tin $HOME/.ssh/known_hosts
  2. Xóa bất kỳ nội dung nào trong tệp này, khi nó sẽ kết nối lại với bất kỳ máy chủ nào bạn ssh thì bạn phải chấp nhận lại các kết nối.

1
-1 để xóa hoàn toàn known_hosts. Sẽ tốt hơn nếu chỉnh sửa máy chủ lưu trữ cụ thể này trong câu hỏi (mặc dù tôi nghi ngờ điều đó sẽ giúp ở đây).
David Foerster


0

Có thể có nhiều lý do nhưng một trong những lý do có thể nhất có thể là (trong trường hợp của tôi là) ssh / port 22 không được tường lửa cho phép .

Bạn có thể cho phép kết nối ssh bằng Giao diện người dùng (một số nhà cung cấp cho phép điều đó) hoặc Nếu bạn có bất kỳ phương pháp thay thế nào để đăng nhập (Ví dụ: digitalocean cung cấp nút điều khiển), bạn có thể chạy bên dưới lệnh

sudo ufw allow ssh
sudo ufw allow 22

0

Có vẻ như ssh daemon trên máy chủ được treo. Bạn có chắc là nó đang chạy không? Khi bạn telnet đến ssh, bạn phải xem chữ ký. Cái gì đó như:

telnet unixhow.com 22
Trying 35.228.26.20...
Connected to unixhow.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1

Những gì tôi thấy từ đầu ra của bạn là ssh daemon không phản hồi ở phía máy chủ. Tôi khuyên bạn nên kết nối qua IP-KVM (hoặc theo một cách khác) với máy từ xa và khởi động lại sshd.


0

Điều này có thể là do bạn không có máy chủ openssh chạy trên Ubuntu của mình. Bạn có thể chạy lệnh dưới đây để kiểm tra trạng thái của máy chủ openssh của bạn.

ubuntu@ubuntu:~$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-03-20 11:52:16 GMT; 5min ago
  Process: 1034 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 1058 (sshd)
    Tasks: 1
   Memory: 5.1M
      CPU: 122ms
   CGroup: /system.slice/ssh.service
           └─1058 /usr/sbin/sshd -D

Mar 20 11:52:15 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on 0.0.0.0 port 22.
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on :: port 22.
Mar 20 11:52:16 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
Mar 20 11:52:24 ubuntu sshd[1131]: Connection closed by 10.0.2.2 port 60566 [preauth]
Mar 20 11:53:59 ubuntu sshd[1135]: Accepted password for ubuntu from 10.0.2.2 port 60654 ssh2
Mar 20 11:53:59 ubuntu sshd[1135]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 20 11:57:48 ubuntu sshd[1238]: Accepted password for ubuntu from 10.0.2.2 port 61124 ssh2
Mar 20 11:57:48 ubuntu sshd[1238]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

Nếu trạng thái không active (running), bạn có thể muốn cài đặt và / hoặc khởi động máy chủ openssh. Bạn có thể làm như vậy với các lệnh hiển thị dưới đây.

sudo apt update
sudo apt install openssh-server

0

Tôi gặp vấn đề tương tự nhưng sau khi khởi động lại sshd daemon, tôi có thể kết nối với máy chủ.

sudo systemctl restart sshd && systemctl status sshd

Đây chỉ là một cách giải quyết tạm thời cho đến khi bạn tăng tham số MaxAuthTries.


-2
  1. Kiểm tra sshd trong cài đặt và chạy của máy chủ.
  2. Đảm bảo rằng trình nền được cài đặt và bắt đầu. Bạn phải có khả năng 'man sshd'. Tôi nghĩ rằng gói đó nằm trong open-ssl và bạn sẽ cần khởi động trình nền (và dừng nó khi bạn không cần nó.).

tất nhiên tôi đã cài đặt sshd, như tôi đã đề cập, tôi có thể ssh đến cùng một máy chủ bằng cách kết thúc trên iphone ... nhưng putty không thành công
user3054879
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.