Tin tức, hướng dẫn và chia sẻ về công nghệ

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

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:\User\windows_user\.ssh\config để 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>\.ssh\known_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 )

1 Comment

  1. MinhNV

    Bài viết hay quá !

Leave a Reply

Your email address will not be published. Required fields are marked *