kết nối ssh bị từ chối trên Raspberry Pi [đã đóng]


90

Tôi nhận ra rằng câu hỏi này đã được hỏi theo một số cách khác nhau, tuy nhiên, có vẻ như không có bất kỳ cách nào mà tôi đã gặp trong số các cách mà tôi gặp phải đều hiệu quả để khắc phục sự cố này, vì vậy đây là:

Tôi đang cố gắng kết nối với thiết lập raspbian raspberry pi 3 của mình qua ssh trên máy tính xách tay của mình, nhưng mặc dù tôi có địa chỉ ip chính xác, tôi vẫn gặp lỗi:

ssh: connect to host xxx.xxx.xx.x port 22: connection refused.

Điều này là bất thường vì khi tôi cố gắng ping địa chỉ đó, nó hoạt động tốt. Có điều gì tôi có thể thử để tìm ra điều gì sai không?

Cũng nên nhớ rằng tôi tương đối thiếu kinh nghiệm với bash trong linux, vì vậy việc đưa vào bất kỳ lệnh cụ thể nào với mô tả về những gì chúng làm sẽ được đánh giá cao.


Stack Overflow là một trang dành cho các câu hỏi về lập trình và phát triển. Câu hỏi này có vẻ lạc đề vì nó không liên quan đến lập trình hoặc phát triển. Xem Những chủ đề tôi có thể hỏi tại đây trong Trung tâm trợ giúp. Có lẽ Super User hoặc Unix & Linux Stack Exchange sẽ là nơi tốt hơn để hỏi. Ngoài ra, hãy xem Tôi đăng câu hỏi về Dev Ops ở đâu?
jww 25/12/16

Ngoài ra còn có Raspberry Pi Stack Exchange .
e0k

6
Câu hỏi rất hay.
Richard de Ree

Câu trả lời:


197

Rõ ràng, máy chủ SSH trên Raspbian hiện đã bị tắt theo mặc định . Nếu không có máy chủ lắng nghe các kết nối, nó sẽ không chấp nhận chúng. Bạn có thể kích hoạt máy chủ SSH theo cách thủ công theo hướng dẫn raspberrypi.org này :

Kể từ bản phát hành tháng 11 năm 2016, Raspbian đã tắt máy chủ SSH theo mặc định.

Hiện có nhiều cách để kích hoạt nó. Chọn một :

Từ máy tính để bàn

  1. Khởi chạy Raspberry Pi Configurationtừ Preferencesmenu
  2. Điều hướng đến Interfacestab
  3. Chọn Enabledbên cạnhSSH
  4. Nhấp chuột OK

Từ nhà ga với raspi-config

  1. Nhập sudo raspi-configvào cửa sổ dòng lệnh
  2. Lựa chọn Interfacing Options
  3. Điều hướng đến và chọn SSH
  4. Chọn Yes
  5. Lựa chọn Ok
  6. Chọn Finish

Bắt đầu dịch vụ SSH với systemctl

sudo systemctl enable ssh
sudo systemctl start ssh

Trên Raspberry Pi không đầu

Đối với thiết lập không đầu, SSH có thể được kích hoạt bằng cách đặt một tệp có tên ssh, không có bất kỳ phần mở rộng nào, vào phân vùng khởi động của thẻ SD. Khi Pi khởi động, nó sẽ tìm kiếm sshtệp. Nếu nó được tìm thấy, SSH được bật và tệp sẽ bị xóa. Nội dung của tệp không quan trọng: nó có thể chứa văn bản hoặc không có gì cả.


4
Cảm ơn bạn, điều này đã hoạt động hoàn hảo! Đó là một quyết định khá kỳ lạ khi tắt ssh theo mặc định vì đó là một trong những cách chính để giao diện thiết bị ...
Matt

11
Bất kỳ cách nào để làm điều này trong một cấu hình không đầu? Hướng dẫn nói rằng đặt một tệp có tên "ssh" trong thư mục khởi động, nhưng điều này không hoạt động.
Jeff

12
Đối với những người khác có thể tìm thấy điều này, vấn đề là nếu RPi không được khởi động lại đúng cách trước khi kết nối SSH thành công đầu tiên, thẻ SD sẽ phải được chụp ảnh lại. Khi tôi đã làm điều này và thêm tệp "ssh" trống, nó đã hoạt động.
Jeff

8
Chà, đây là một động thái ngu ngốc của cộng đồng RPi. Vì vậy, bây giờ ngay cả khi tôi tải xuống phiên bản không dành cho máy tính để bàn, tôi vẫn cần thiết lập một máy tính để bàn chỉ để bật SSH? Thật là một nỗi đau.
Cerin

2
Sẽ có ý nghĩa hơn nếu tệp ssh chứa tên người dùng và mật khẩu để kích hoạt
Florian F

-6

Tôi nghĩ rằng pi có máy chủ ssh được bật theo mặc định. Của tôi đã luôn luôn làm việc ra khỏi hộp. Phụ thuộc vào phiên bản hệ điều hành nào có thể.

Phần lớn trường hợp nó không thành công đối với tôi là do địa chỉ ip đã bị thay đổi. Có lẽ bây giờ bạn đang ping một cái gì đó khác? Ngoài ra, đôi khi họ chỉ từ chối kết nối và cần khởi động lại.


Có vẻ như bị vô hiệu hóa theo mặc định ngay bây giờ. Lỗi ở đây là "kết nối bị từ chối" chứ không phải là sự chậm trễ sau đó là "hết thời gian hoạt động" - sẽ xảy ra nếu bạn thay đổi ip. Được cấp một thiết bị khác có thể đã lấy ip và đang từ chối kết nối.
Ed_
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.