Cách định cấu hình Raspberry Pi của bạn cho Remote Shell, Desktop và truyền tệp
Vì vậy, bạn có Raspberry Pi và bạn muốn tối đa hóa dấu chân nhỏ bé của nó bằng cách biến thành một hộp hoàn toàn độc lập - không có màn hình, bàn phím hoặc các thiết bị ngoại vi đầu vào khác. Đọc tiếp khi chúng tôi chỉ cho bạn cách thiết lập quyền truy cập shell, máy tính để bàn và truyền tệp từ xa trên Pi của bạn.
Tại sao tôi muốn làm điều này?
Pi, thậm chí được bọc trong một chiếc vỏ cứng cáp, là một chiếc máy tính nhỏ. Thật hoàn hảo để giấu một nơi nào đó khuất tầm nhìn mà không có một dây điện nào dính vào nó - đối với nhiều dự án, bạn chỉ cần không có màn hình cố định và đệm ngoại vi.
Cái đó không tuy nhiên, có nghĩa là bạn sẽ không cần kết nối với hộp để thực hiện thay đổi, cập nhật mọi thứ, chuyển tập tin, v.v. Một ví dụ hoàn hảo cho điều này là chỉ báo mưa nhỏ mát mẻ mà chúng tôi đã xây dựng như một phần của bài viết Build a LED Indicator với bài viết Raspberry Pi (cho Email, thời tiết hoặc bất cứ điều gì). Nó không cần tất cả những thứ gắn liền với nó, nhưng chúng tôi vẫn muốn có khả năng nhảy lên thiết bị và dễ dàng thực hiện các thay đổi hoặc thử một thử nghiệm mới với mô-đun LED mà không cần phải kéo nó trở lại xưởng, và nối nó với màn hình, bàn phím, chuột, v.v. Bằng cách định cấu hình cho vỏ từ xa, máy tính để bàn từ xa và truyền tệp từ xa, chúng tôi làm cho nó cực kỳ đơn giản để luôn tương tác với thiết bị Pi của chúng tôi một cách thoải mái như thể chúng tôi Đã nối thiết bị lên một trạm làm việc đầy đủ.
Tôi cân nhưng gi?
Nếu bạn là người mới làm việc với Raspberry Pi, chúng tôi khuyên bạn nên xem Hướng dẫn HTG để bắt đầu với Raspberry Pi để nắm được những điều cơ bản của thiết bị và tăng tốc.
Đối với hướng dẫn này, bạn sẽ cần những điều sau đây:
- Một Raspberry Pi chạy Raspbian.
- Máy tính để bàn hoặc máy tính xách tay.
- Mạng Wi-Fi cục bộ hoặc mạng có dây để kết nối Pi và máy tính của bạn.
Đầu tiên, hầu hết các bước trong hướng dẫn này sẽ hoạt động với các bản phân phối Pi dựa trên Linux khác nhưng chúng tôi sẽ sử dụng Raspbian. Bạn sẽ gặp khó khăn khi điều chỉnh hướng dẫn cho các bản phân phối khác.
Thứ hai, chúng tôi đang sử dụng máy Windows làm máy tính nối mạng để tương tác với thiết bị Raspberry Pi làm đầu / giao diện từ xa. Khi thích hợp, chúng tôi sẽ cố gắng hết sức để liên kết với các hướng dẫn và gợi ý đọc về việc thực hiện các tác vụ và công cụ song song trên OS X và Linux.
Thiết lập và kết nối với máy chủ SSH
Truy cập dòng lệnh từ xa vào bản cài đặt Raspbian của bạn là về tinh chỉnh nhỏ nhất mà bạn có thể thực hiện đối với hệ thống của mình và rất đơn giản để kích hoạt.
Mở terminal trong Rasbian, phím tắt là LXTerminal trên màn hình nền và gõ lệnh sau:
sudo raspi-config
Điều hướng xuống ssh và nhấn enter. Khi được nhắc về máy chủ SSH, hãy chọn Kích hoạt và nhấn enter lần nữa. Bạn sẽ được đưa trở lại bảng Raspi-config; điều hướng xuống Hoàn thành và nhấn enter để đóng công cụ cấu hình. Đó là tất cả những gì bạn cần làm để bật quyền truy cập SSH vào Pi của bạn. Mật khẩu và đăng nhập SSH mặc định là số Pi và dâu rừng, tương ứng.
Trong khi bạn vẫn ngồi ở dòng lệnh, bây giờ là thời điểm tuyệt vời để kiểm tra IP của đơn vị Raspberry Pi của bạn trên mạng cục bộ. Kiểu ifconfig tại dấu nhắc và sau đó nhìn vào đầu ra của lệnh. Nếu bạn đang sử dụng cổng Ethernet, bạn muốn tìm khởi đầu bên trong eth0 phần; nếu bạn đang sử dụng Wi-Fi, bạn muốn tìm kiếm khởi đầu bên trong wlan0 phần. Ngoài việc kiểm tra và lưu ý địa chỉ IP, đây cũng là thời điểm tuyệt vời để thiết lập mục nhập IP tĩnh trong bộ định tuyến của bạn để bạn không phải tìm kiếm IP trong tương lai.
Bây giờ chúng tôi đã kích hoạt máy chủ SSH, chúng tôi biết thông tin đăng nhập và chúng tôi biết địa chỉ IP của máy, đã đến lúc kết nối qua SSH và kiểm tra. Để làm như vậy từ Linux và OS X, bạn chỉ cần sử dụng ssh lệnh tại thiết bị đầu cuối. Tuy nhiên, người dùng Windows sẽ cần một ứng dụng khách SSH như PuTTY.
Vì chúng tôi đang sử dụng hộp Windows để quản lý từ xa Pi, PuTTY của nó. Cài đặt một bản sao của PuTTY hoặc giải nén phiên bản di động và kích hoạt nó. Có rất nhiều trong số các cài đặt bạn có thể gặp rắc rối trong PuTTY, nhưng chúng tôi chỉ cần lo lắng về một điều duy nhất để kết nối với Pi của chúng tôi. Trên giao diện Phiên chính, chỉ cần nhập địa chỉ IP của Pi của bạn và chọn SSH bên dưới nó:
Đánh Mở ở phía dưới và PuTTY sẽ khởi chạy một cửa sổ đầu cuối cho bạn, kết nối với Pi của bạn và nhắc bạn đăng nhập. Hãy tiếp tục và đăng nhập bằng pi / mâm xôi:
Khi kết nối SSH của bạn hoạt động, về mặt kỹ thuật, bạn có thể hoàn thành phần còn lại của hướng dẫn này một cách thoải mái từ bàn làm việc - mặc dù chúng tôi khuyên bạn nên để phần đầu và bàn phím trên hệ thống của mình cho đến khi bạn hoàn thành toàn bộ dự án và mọi thứ đều chạy trơn tru.
Trước khi chúng tôi tiếp tục, có một số chức năng bổ sung mà chúng tôi có thể loại bỏ khỏi SSH. Ngoài việc quản lý dòng lệnh từ xa, bạn cũng có thể chuyển tập tin từ xa bằng cách sử dụng Sao chép bảo mật. Đó là dòng lệnh chuyên sâu và không đặc biệt thuận tiện cho việc chuyển một số lượng lớn tệp có nguồn gốc từ nhiều thư mục, nhưng đối với chuyển tệp cấu hình một lần hoặc kết xuất nhỏ khác, nó khá tiện dụng. Kiểm tra hướng dẫn của chúng tôi để sao chép tệp qua SSH bằng lệnh SCP tại đây.
Chúng ta sẽ xem xét kỹ hơn các kỹ thuật chuyển tệp dựa trên GUI / thân thiện với người dùng hơn sau này trong hướng dẫn.
Thiết lập và cấu hình máy tính từ xa của bạn
Truy cập dòng lệnh từ xa là tuyệt vời, nhưng vì vậy có quyền truy cập vào máy tính để bàn cho các hoạt động tập trung vào GUI. Chúng ta hãy mang sức mạnh của dòng lệnh và sức mạnh của máy tính để bàn lại với nhau.
Mặc dù đến thời điểm này, chúng tôi đã gọi nó là máy tính để bàn từ xa, nhưng công cụ chúng tôi thực sự cài đặt được gọi là các tiêu chí điện toán ảo (VNC) mà nhiều người quen thuộc như RealVNC và TightVNC. Đối với hướng dẫn này, chúng tôi sẽ cài đặt TightVNC trên Pi. Để truy cập phiên chặt chẽ dựa trên Pi, bạn sẽ cần một máy khách từ xa, chẳng hạn như:
- Máy khách máy tính để bàn chặt chẽ dành cho Windows
- Máy khách máy tính để bàn chặt chẽ dành cho máy tính để bàn Linux / Unix
- Máy khách để bàn RealVNC cho OSX
Lấy một bản sao ngay bây giờ và chúng ta sẽ tìm ra nó sau trong phần này. Ngay bây giờ, hãy bắt đầu cài đặt máy chủ TightVNC trên Raspberry Pi của bạn. Mở thiết bị đầu cuối. Nhập lệnh sau để bắt đầu:
sudo apt-get cài đặt chặt chẽvncserver
Điều này sẽ tải xuống và giải nén các tập tin cài đặt; khi được nhắc tiếp tục nhấn Y. Sau khi cài đặt hoàn tất, bạn sẽ được đưa trở lại dấu nhắc. Bạn có thể bắt đầu VNC theo một trong hai cách. Đơn giản chỉ cần chạy lệnh cho máy chủ như vậy:
máy chủ chặt chẽ
Sẽ nhắc bạn nhập mật khẩu để truy cập máy tính để bàn VNC của bạn - như đã thấy trong ảnh chụp màn hình ở trên. Mật khẩu cần dài 4-8 ký tự. Khi bạn xác nhận mật khẩu, bạn sẽ được nhắc đặt mật khẩu chỉ xem (bạn có thể từ chối bước này, như chúng tôi đã làm).
Ngoài ra, bạn có thể sử dụng một lệnh chính xác hơn, mặc dù dài hơn để gõ, lệnh cho phép bạn kiểm soát nhiều hơn cách máy tính từ xa sẽ nhìn thấy máy tính để bàn - quan trọng nhất là máy tính để bàn sẽ hiển thị độ phân giải nào để bạn có thể xem toàn màn hình máy tính từ xa. Để chỉ định độ phân giải của màn hình VNC, sử dụng lệnh sau, hoán đổi giá trị độ phân giải (mục thứ tư trong lệnh) cho độ phân giải của màn hình nền từ xa:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Nếu tại bất kỳ thời điểm nào bạn mắc lỗi trong việc thiết lập phiên bản máy chủ VNC của bạn và / hoặc bạn muốn tắt máy chủ VNC, chỉ cần nhập thông tin sau (thay đổi số sau dấu hai chấm thành số của phiên bản VNC bạn muốn giết) :
vncserver -kill: 1
Bây giờ chúng tôi có máy chủ VNC đang hoạt động, hãy kết nối với nó từ máy tính để bàn từ xa của chúng tôi. Bật trình xem chặt chẽ trên VNC trên máy tính của bạn và cắm địa chỉ IP của đơn vị Raspberry Pi theo sau: 1 như vậy:
Và đây là phần thưởng của chúng tôi khi định cấu hình thành công máy chủ VNC của chúng tôi - chế độ xem toàn màn hình đẹp của đơn vị Raspberry Pi từ xa của chúng tôi:
Có một vấn đề được biết đến với TightVNC và Rasbian, nhờ thay đổi quyền hạn mạnh mẽ, sẽ gây rắc rối với máy tính để bàn gắn màn hình thực tế (trong khi để giao diện máy tính từ xa do máy chủ VNC cung cấp không bị ảnh hưởng). Để khắc phục sự cố này trước khi nó trở thành vấn đề với bạn, hãy đi thẳng vào dòng lệnh và nhập lệnh sau:
sudo chown pi /home/pi/.Xmasterity
Lệnh này thay đổi quyền sở hữu của tệp .Xmasterity trở lại cho người dùng pi - vì tò mò, tệp .Xmasterity được sử dụng bởi hệ thống X-windows trong Rasbian và một cái gì đó trong quá trình cài đặt và cấu hình máy chủ TightVNC gây ra ít quyền truy cập.
Với đường vòng nhỏ đó, hãy quay lại hoàn thiện cấu hình máy tính từ xa của chúng tôi.
Bây giờ chúng ta có đầy đủ dòng lệnh và quyền truy cập máy tính để bàn vào Raspberry Pi, có một điều chỉnh không hề nhỏ mà chúng ta cần thực hiện. Công cụ Raspi-config đặt máy chủ SSH tự động khởi động cho chúng tôi, nhưng máy chủ VNC chưa được cấu hình theo kiểu như vậy. Bạn có thể bỏ qua bước này và tự khởi động máy chủ theo dòng lệnh thông qua SSH khi bạn cần, nhưng chúng tôi đang cố gắng làm cho nó không phiền phức nhất có thể để sử dụng trong tương lai. Hãy dành một phút bây giờ và tạo một tệp khởi động cho máy chủ VNC.
Để tự động khởi động máy chủ VNC, chúng tôi cần thiết lập init hoặc khởi tạo, tệp mà Raspbian sẽ sử dụng để khởi động và tắt máy chủ một cách sạch sẽ trong quá trình khởi động và tắt. Hãy tạo tập tin init ngay bây giờ. Tại loại dòng lệnh trong lệnh sau:
sudo nano /etc/init.d/tightvnc
Điều này sẽ tạo ra một tập tin trong thư mục khởi tạo có tên là chặt chẽvnvn và mở trình soạn thảo nano để chúng tôi có thể dán vào tập lệnh của mình. Trong trình chỉnh sửa nano, dán mã sau đây (đảm bảo thay đổi giá trị độ phân giải 1600 × 900 để khớp với màn hình của máy tính từ xa của bạn:
#! / thùng / sh
### BẮT ĐẦU THÔNG TIN
# Cung cấp: chặt chẽ
# Bắt buộc-Bắt đầu:
# Bắt buộc-Dừng:
# Mặc định-Bắt đầu: 2 3 4 5
# Mặc định-Dừng: 0 1 6
# Mô tả ngắn: khởi động máy chủ vnc
# Sự miêu tả:
### KẾT THÚC BAN ĐẦUcase 1 đô la đô la trong
khởi đầu)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:'
echo Việt Nam VNC bắt đầu
;;
dừng lại)
pkill Xtightvnc
echo Việt Nam VNC chấm dứt
;;
*)
echo Cách sử dụng: /etc/init.d/tightvnc start | stop xông
thoát 1
;;
esac
Ngoài việc sửa đổi phần độ phân giải màn hình của tập lệnh, có một điều khác bạn có thể sửa đổi. Trong dòng 14, bạn có thể thay đổi lệnh Cam su pi -cv thành bất kỳ tài khoản người dùng nào khác ngoài Bên pi pi nếu bạn muốn VNC sang máy tính để bàn cụ thể cho tài khoản đó.
Khi bạn đã dán và sửa đổi mã, đã đến lúc lưu nó. Nhấn CTRL + X để thoát và lưu công việc của bạn trong nano. Khi bạn quay lại dòng lệnh, chúng tôi cần thực hiện một vài thay đổi nhanh chóng đối với quyền của tệp:
sudo chmod 755 /etc/init.d/tightvnc
Bây giờ các tập tin khởi tạo là thực thi. Chúng tôi có thể kiểm tra nó từ dấu nhắc:
sudo /etc/init.d/tightvnc bắt đầu
sudo /etc/init.d/tightvnc dừng lại
Thay đổi cuối cùng mà chúng tôi sẽ thực hiện là cập nhật tệp RC.d (theo dõi các tập lệnh khởi tạo nào trong thư mục /init.d/):
sudo update-rc.d chặt chẽ mặc định
Sau khi bạn nhập lệnh đó, bạn sẽ nhận được xác nhận rằng tệp đã được cập nhật. Bây giờ là lúc để thử nghiệm thực sự: tập tin có tải đúng sau khi khởi động lại không? Nhập dòng sau vào dòng lệnh để khởi động lại và được chuẩn bị với ứng dụng khách VNC của bạn để kiểm tra kết nối ngay lập tức:
khởi động lại sudo
Khi hệ thống đã khởi động lại xong, hãy đăng nhập với ứng dụng khách VNC của bạn. Nếu phiên VNC của bạn không thành công, hãy truy cập vào dấu nhắc lệnh và chạy lệnh startvnc (từ phần kiểm tra ở trên) một lần nữa để kiểm tra xem tệp có thực thi được không và mật khẩu đã được lưu đúng chưa.
Tại thời điểm này, chúng tôi thậm chí còn đi xa hơn trong nhiệm vụ kiểm soát hoàn toàn thiết bị Raspberry Pi của chúng tôi. Với quyền truy cập dòng lệnh từ xa thông qua SSH và truy cập máy tính để bàn từ xa qua VNC, chúng ta hãy chuyển sang đơn giản hóa quá trình chuyển tệp giữa máy tính Pi và máy tính để bàn của chúng tôi.
Thiết lập và cấu hình công cụ truyền tệp
Vì chúng tôi đã thiết lập SSH, cách dễ nhất để thiết lập chuyển tập tin đơn giản đã chết giữa Pi và máy tính từ xa là cõng giao diện GUI trên kết nối SSH. Hãy nhớ cách chúng ta đã nói về việc sử dụng SCP qua SSH trước đó trong hướng dẫn? Chạy nó từ dòng lệnh trở nên thực sự tẻ nhạt, rất nhanh. Với trình bao bọc GUI, chúng tôi sẽ có thể dành nhiều thời gian hơn để di chuyển tệp và chơi với Pi của chúng tôi và ít thời gian hơn vào bàn phím.
Mặc dù có nhiều trình bao bọc GUI cho lệnh SCP, chúng tôi sẽ sử dụng một công cụ đa nền tảng mà nhiều người đã biết, có và yêu thích (và thậm chí có thể không biết rằng nó chuyển SCP): FileZilla. Nó có sẵn cho Windows, OS X và Linux - bạn có thể lấy một bản sao tại đây.
Khi bạn đã cài đặt FileZilla, hãy khởi động nó và đi đến Tệp -> Trình quản lý trang. Tạo một mục nhập trang web mới, đặt tên và nhập tên người dùng và mật khẩu cho Pi của bạn.
Cuối cùng, hãy đảm bảo đặt cổng thành 22 và Servertype thành SFTP - Giao thức truyền tệp SSH. Nhấp vào kết nối ở dưới cùng và bạn sẽ được xem một chế độ xem tương tự như chế độ xem này:
Các thư mục cục bộ của bạn nằm trong khung bên trái và các thư mục từ xa trên Pi nằm trong khung bên phải. Di chuyển tệp giữa hai đơn giản như kéo và thả chúng.
Tận dụng lợi thế của việc chuyển tệp SSH hiện có là cách dễ nhất để lấy các tệp trên Pi mà không cần cấu hình bổ sung cần thiết nhưng nếu bạn muốn định cấu hình Pi của mình để nhận và chia sẻ tệp mà không cần người dùng từ xa yêu cầu bất kỳ công cụ ưa thích nào (như máy khách FTP có khả năng SCP như FileZilla), chúng tôi khuyên bạn nên kiểm tra phần cấu hình Samba trong hướng dẫn của chúng tôi: Cách bật Raspberry Pi vào một thiết bị lưu trữ mạng năng lượng thấp. Đọc qua sẽ giúp bạn làm quen với việc thiết lập chia sẻ Samba cơ bản trên Pi để tạo thư mục chia sẻ dễ dàng truy cập bởi bất kỳ ai trên mạng của bạn mà không cần bất kỳ công cụ bổ sung nào.
Bạn đã cấu hình SSH, bạn đã định cấu hình VNC và bạn đã thiết lập quyền truy cập SFTP và / hoặc Samba đơn giản vào Pi của mình - tại thời điểm này, bạn có thể khởi động Raspberry Pi, loại bỏ màn hình, bàn phím và chuột, và nhét nó đi như một cỗ máy im lặng và không đầu.
Bạn có ý tưởng cho dự án Raspberry Pi và bạn đang muốn chúng tôi viết hướng dẫn cho nó không? Tắt các bình luận hoặc gửi email cho chúng tôi tại [email protected] và chúng tôi sẽ làm hết sức mình để giúp đỡ.