[Python] Sử dụng tiện ích Remote-SSH trên Visual Studio Code để code Python trên remote server

30/12/2020
Chưa phân loại

Trong bài viết này , mình xin chia sẻ về một thủ thuật hữu ích để code Python một cách dễ dàng trên máy tính Windows mà vẫn sử dụng nhân Linux .

Mô hình

Mục tiêu

  • Sử dụng phần mềm VSCode kết nối SSH đến các máy ảo ( trong trường hợp này là Ubuntu 18.04 ) để truy cập vào các folder của máy ảo , đồng thời có thể code và chạy trên chính terminal của máy ảo .

Các bước thực hiện

B1 : Đảm bảo máy ảo cho phép SSH . Trên Ubuntu Desktop , mặc định không có service này , phải cài thêm vào :

sudo apt-get install -y openssh-server

B2 : Trên máy Windows , mở phần mềm VSCode và cài đặt các extension sau :

  • Cài đặt Remote – SSH :
  • Cài đặt Python :

B3 : Sau khi cài đặt Remote – SSH , click vào biểu tượng  ở góc trái dưới màn hình , chọn Remote-SSH: Connect to Host… để thực hiện kết nối SSH đến máy ảo Ubuntu :

B4 : Chọn Add a new host :

B5 : Tại cửa sổ Enter SSH Connection Command , nhập lệnh SSH , gõ Enter :

B6 : Tại cửa sổ Select SSH configuration file to update , chọn C:Userwindows_user.sshconfig để thêm host :

B7 : Thông báo Host Added! báo hiệu kết nối thành công , chọn Connect :

B8 : Cửa sổ kết nối hiện ra , chọn Continue :

B9 : Nhập password của user SSH trên Ubuntu :

B10 : Chọn Open Folder > Folder muốn mở > OK :

B11 : Nhập password của user SSH để mở Folder :

B12 : Giao diện của trình SSH trên VSCode gồm phần cây thư mục , trình editor . Tuy nhiên , vẫn chưa thể run code trực tiếp trên terminal của máy ảo . Để làm được việc này , cần cài package hỗ trợ Python vào máy ảo :

B13 : Mở phần extension Python vừa cài đặt , chọn Install in SSH: 192.168.5.18 :

B14 : Reload để áp dụng cài đặt :

B15 : VSCode sẽ yêu cầu nhập lại password của máy ảo một lần nữa :

B16 : Hoàn tất cài đặt , một phím  sẽ hiện ra cho phép chạy code ngay trên terminal của máy ảo :

B17 : Chạy Demo ngay :


Chú ý :

  • Ngoài việc runcode , trên terminal cũng cho phép chạy các lệnh Linux bình thường như đang thực hiện ngay trên máy ảo .
  • Trên máy ảo cần cài đặt sẵn Python .
  • Nếu máy ảo cài đặt pip , VSCode sẽ hiện ra gợi ý cài đặt gói pylint để soát lỗi code . Nên cài đặt package này .
  • Cách ngắt kết nối SSH :
  • Sau khi ngắt kết nối , muốn kết nối lại sẽ không cần bước thêm host mà chỉ cần chọn vào host đã được thêm và lưu từ trước :
  • Nên chọn riêng một máy ảo để code . Không nên snapshot lại máy ảo . Do trước đó key ECDSA Fingerprint của máy ảo đã lưu trên máy Windows nên sau khi snapshot sẽ không thể sử dụng key đó => Không thể SSH vào máy ảo .
  • Để khắc phục điều này , trên máy Windows , truy cập đường dẫn : C:Users<username>.sshknown_hosts , xóa key ECDSA Fingerprint cũ của máy ảo trước đã kết nối , sau đó việc kết nối SSH sẽ trở lại bình thường . Tuy nhiên các công cụ như Python cũng sẽ phải cài lại từ đầu ( B13 , B14 )
ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Installing Multimedia Codecs on Debian 10

A codec is used to encode and decode digital data stream. It is mainly used to reduce file size of audio and video files....
29/12/2020

Best Open Source Secure Email Gateway Packages

Secure Email Gateways or Email security gateways are gateways designed to filter mail traffic. Some mail providers and...
29/12/2020

[DirectAdmin] Các loại tài khoản và các gói trong Direct Admin (phần 2)

Để vận hành được Direct Admin, ta cần phải có kiến thức về các loại tài khoản và các gói trong...
30/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

Dịch Vụ Xây Dựng Hệ Thống Peering Với Internet Exchange (IXP)
04/04/2025

Dịch Vụ Triển Khai VPN Site-to-Site & Remote Access
04/04/2025

Dịch Vụ Thiết Lập Hệ Thống Tường Lửa (Firewall)
04/04/2025

Dịch Vụ Triển Khai Hệ Thống Ảo Hóa & Cloud
04/04/2025

Dịch Vụ Triển Khai Hệ Thống Ceph
04/04/2025