SSH không hoạt động với cài đặt mới


48

Gần đây tôi đã giải phóng một mô hình B cũ khỏi gác xép, đặt NOOBS vào thẻ SD và cài đặt phiên bản Raspbian mới nhất trên nó. Tôi đã khởi động nó, cố gắng SSH nó từ máy Mac của tôi, nhưng đã nhận được:

ssh: connect to host 192.168.1.248 port 22: Connection refused

Tôi đã khắc phục điều này trong trường hợp đầu tiên bằng cách chạy sudo ssh restart, nhưng bây giờ mỗi lần tôi khởi động lại, tôi phải khởi động lại dịch vụ ssh trước khi tôi có thể ssh trở lại, điều này rõ ràng là không thực tế. Bất cứ điều gì tôi có thể làm để sửa chữa nó lâu dài hơn?


3
Bản sao có thể có của Chuẩn bị cho ssh mà không có màn hình
raphael

Câu trả lời:


84

Trích dẫn tài liệu :

Kể từ phiên bản tháng 11 năm 2016, Raspbian có máy chủ SSH bị tắt theo mặc định. Bạn sẽ phải kích hoạt nó bằng tay.

Để bật SSH trên máy thông qua bảng điều khiển:

Nhập sudo raspi-configvào thiết bị đầu cuối, đầu tiên chọn Interfacing Options, sau đó điều hướng đến ssh, nhấn Entervà chọn Enable or disable ssh server.

Để bật SSH cho các máy không đầu:

Để thiết lập không đầu, SSH có thể được bật bằng cách đặt một tệp có tên ssh, không có bất kỳ tiện ích mở rộng nào, vào phân vùng khởi động của thẻ SD.


6
Tôi đã thử thiết lập không đầu trên Raspbian Stretch Desktop từ 2018-03-14 và nó dường như không còn hoạt động nữa, đang hoạt động với các phiên bản trước.
JBaczuk

Vấn đề tương tự ở đây với việc tạo sshtệp không khởi động khi khởi động dường như không hoạt động ngay cả khi thông báo được hiển thị khi khởi động
Sander Visser

@JBaczuk Tôi đang trải nghiệm điều tương tự. Bạn đã sửa nó chưa?
Aaron

@JBaczuk Hiện tại nó nằm trong "tùy chọn giao thoa" (nguồn: raspberrypi.org/forums/viewtopic.php?t=177883 )
Aaron

@Aaron, ok, nhưng làm thế nào để bạn làm điều này với một thiết lập không đầu?
JBaczuk

11

Gần đây đã có một bản cập nhật bảo mật cho Raspberry Pi. Đây là một bài viết từ https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Từ bài viết của nền tảng:

Điều gì đã thay đổi?

Đầu tiên, từ bây giờ SSH sẽ bị tắt theo mặc định trên hình ảnh của chúng tôi. SSH (Secure SHell) là một giao thức mạng cho phép bạn đăng nhập từ xa vào máy tính Linux và điều khiển nó từ một dòng lệnh từ xa. Như đã đề cập ở trên, nhiều chủ sở hữu Pi sử dụng nó để cài đặt Pi không đầu (không có màn hình hoặc bàn phím) và điều khiển nó từ một PC khác.

Trước đây, SSH được bật theo mặc định, vì vậy những người sử dụng Pi không đầu của họ có thể dễ dàng cập nhật thẻ SD của họ thành một hình ảnh mới. Bật hoặc tắt SSH luôn yêu cầu sử dụng raspi-config hoặc ứng dụng Cấu hình Raspberry Pi, nhưng để truy cập vào đó, bạn cần một màn hình và bàn phím được kết nối với chính Pi, không phải là trường hợp trong các ứng dụng không đầu. Vì vậy, chúng tôi đã cung cấp một cơ chế đơn giản để bật SSH trước khi hình ảnh được khởi động.

Có thể truy cập phân vùng khởi động trên Pi từ bất kỳ máy nào có đầu đọc thẻ SD, trên Windows, Mac hoặc Linux. Nếu bạn muốn kích hoạt SSH, tất cả những gì bạn cần làm là đặt một tệp có tên ssh trong thư mục / boot /. Nội dung của tệp không quan trọng: nó có thể chứa bất kỳ văn bản nào bạn thích hoặc thậm chí không có gì cả. Khi Pi khởi động, nó tìm tập tin này; nếu tìm thấy nó, nó kích hoạt SSH và sau đó xóa tệp. SSH vẫn có thể được bật hoặc tắt từ ứng dụng Cấu hình Raspberry Pi hoặc raspi-config; đây chỉ đơn giản là một cách bổ sung để bật nó nếu bạn không thể dễ dàng chạy một trong những ứng dụng đó.

Rủi ro với một cổng SSH mở là ai đó có thể truy cập và đăng nhập; Để làm điều này, họ cần một tài khoản người dùng và mật khẩu. Ra khỏi hộp, tất cả các bản cài đặt Raspbian đều có tài khoản người dùng mặc định 'pi' với mật khẩu 'mâm xôi'. Nếu bạn đang bật SSH, bạn thực sự nên thay đổi mật khẩu cho người dùng 'pi' để ngăn chặn tin tặc sử dụng mặc định. Để khuyến khích điều này, chúng tôi đã thêm các cảnh báo vào quy trình khởi động. Nếu SSH được bật và mật khẩu cho người dùng 'pi' vẫn là 'quả mâm xôi', bạn sẽ thấy một thông báo cảnh báo bất cứ khi nào bạn khởi động Pi, cho dù là máy tính để bàn hay dòng lệnh. Chúng tôi sẽ không thực thi thay đổi mật khẩu, nhưng bạn sẽ được cảnh báo mỗi khi bạn khởi động nếu Pi của bạn có nguy cơ.

Hy vọng của chúng tôi là những thay đổi (tương đối nhỏ) này sẽ không gây ra quá nhiều bất tiện, nhưng chúng sẽ khiến tin tặc tấn công Pi khó khăn hơn nhiều.

Điều này về cơ bản có nghĩa là gần đây đã có rất nhiều vụ hack thiết bị sử dụng kết nối từ xa như SSH. Do đó, SSH theo mặc định bị vô hiệu hóa. Để khắc phục điều này, tất cả những gì bạn phải làm là tạo một tệp có tên ssh trong /boot/thư mục. Tập tin này được gọi là ssh có thể chứa bất kỳ văn bản hoặc không có gì nếu bạn muốn. Sau đó, bằng cách sử dụng sudo raspi-config commandtrên thiết bị đầu cuối, bạn có thể kích hoạt lại ssh.

Ngoài ra, nó khuyên bạn nên thay đổi mật khẩu nếu nó là một thứ đơn giản như mật khẩu thành một thứ khó bẻ khóa hơn bằng cách sử dụng passwdlệnh.


2
"Gần đây đã có rất nhiều vụ hack thiết bị" -> Có lẽ rất nhiều người đã nghe về điều này . Mặc dù Pis có thể không tham gia, nhưng họ cũng có thể đã chạy SSH theo mặc định với quyền truy cập mở vào một tài khoản rất đặc quyền thông qua mật khẩu "nhà máy đặt trước" chính xác là loại được khai thác.
goldilocks

1
Các cuộc tấn công hầu như không "gần đây". Tôi đã nhìn thấy những nỗ lực đột nhập trong nhật ký của mình khoảng ba năm nay.
Đánh dấu

Có thể không nhiều nhưng đã có một số hack Raspberry Pis!
Vua Balloonion

2

systemctl giải pháp

Nếu bạn đã có shell trên Pi thông qua phương thức không phải SSH như màn hình + bàn phím hoặc UART (xem bài đăng này ), bạn cũng có thể chạy:

sudo systemctl enable ssh
sudo service sshd start

thay vì làm nó tương tác thông qua sudo raspi-config.

/boot/ssh tập tin ma thuật

Nếu bạn chưa có shell trên Pi, hãy chèn thẻ SD của anh ấy vào máy chủ của bạn và tạo một tệp trống ma thuật có tên sshtệp trong boot/phân vùng ( tệp đầu tiên).

Trên máy chủ Ubuntu, nó được gắn tự động và bạn có thể thực hiện:

sudo touch /media/$USER/boot/ssh

mà bạn có thể xác nhận với:

lsblk

trong đó có:

mmcblk0     179:0    0  14.4G  0 disk
├─mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
└─mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

Đã thử nghiệm trên Raspbian Lite 2018-11-13, thiết lập thử nghiệm đầy đủ được mô tả thêm tại: SSH sang RPi mà không cần kết nối mạng?


0

Có, như @tecraf nói sshbị tắt theo mặc định, nhưng vị trí cấu hình đã thay đổi. Để bật SSH trên máy của bạn thông qua bảng điều khiển:

Nhập sudo raspi-configvào thiết bị đầu cuối đi đến 5-Interfacing Options, sau đó điều hướng đến P2-ssh, nhấn Enter và sử dụng tabđể bật hoặc tắt ssh server. Sau đó sudo shutdown -r nowđể khởi động lại. (tắt ghi chú bên cạnh -hsẽ không khởi động lại)

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.