Làm việc trên Remote server với SSH và Visual studio code

Hiện nay, với sự triển phát triển của các nền tảng điện toán đám mây việc làm việc và triển khai sản phẩm trên cloud instance đã không còn xa lại với developer.

Nói tới việc kết nối với Remote server chúng ta luôn nghỉ tới SSH protocol, giao thức giúp kết nối giữa các máy tính một cách dễ dàng. Tưởng tượng một ngày bạn phải dùng SSH để remote vào server rồi sửa file rồi lưu file, thao tác lập đi lặp lại và rất không đáng có. Nghỉ không cũng thấy mệt mà làm rồi thì thấy rối nữa…. Chính vì vậy, đòi hỏi một cách kết nối với remote server thuận lợi nhất để tăng tốc độ làm việc và triển khai sản phẩm.

Và may thay, với sự phát triển bá đạo của Visual studio code đã mang tới cho developer cách kết nối tới Remote server của mình rồi chỉnh sửa source code và thao tác trên server một cách thuận tiện hơn, không còn đâu đó cái cảm giác phải thao tác bằng tay để kết nối rồi phải dùng vim hoặc nano để mở file source code nữa. ahihi.

Bài viết này sẽ nói về cách đơn giản để từ máy Window cộng với Visual studio code có kết nối đến Remote server đang chạy hệ điều hành CentOS 7 và tha hồ vẫy vùng nhá.

Bài viết gồm 3 phần:

  1. Tạo cặp authorize ssh key tại máy tính.

1. Tạo cặp authorize ssh key

  • Mở cmd
ssh-keygen -t rsa -b 4096 -f <file_path>
sample: ssh-keygen -t rsa -b 4096 -f %USERPROFILE%/.ssh/ssh_key
Trong đó:
-t là thuật toán mã hóa key
-b là kích thước của key
-f là đường đẫn bạn muốn lưu file ssh key
%USERPROFILE% : Sẽ dẫn đến thư mục người dùng hiện tại trong window của bạn. ví dụ: %USERPROFILE% của mình là C:/Users/VPL
Thì sẽ có đường dẫn muốn lưu file public key là
C:/Users/VPL/.ssh/ssh_key
Tham khảo tại: https://www.ssh.com/ssh/keygen/
  • Ở bước passphare là không bắt buộc nên thường mình để trống.
  • Bạn tìm tới đường dẫn xem có file hai file authorize key như thế này không nhé

ssh_key private key dùng ở máy tính cá nhân muốn kết nối đến remote server.

ssh_key.pubpublic key sẽ được lưu ở remote server dùng cho việc xác thực

Nào tiếp tục phần 2 lưu public key lên server nhé.

2. Lưu ssh key vào remote server

  • Các bạn dùng putty hoặc ssh để vào remote server

lưu ý: file authorized_keys có thể chứa nhiều public key

authorized_keys
  • Mình sẽ lấy nội dung ở file ssh_key.pub được sinh ra tại máy tính và lưu vào file authorized_keys ở remote server. ssh_key.pub thường có nội dung theo dạng.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDEC9Sfe8 ..............................................................................
  • Sau đó tiến hành thay đổi quyền truy cập file authorized_keys về 666
chmod 666 authorized_keys
  • Kết quả mình sẽ được file authorized_keys với public key mới. (File authorized_keys hiện tại của mình đang có 2 public key)
ssh -i <private_key> -p 22 <remote_user>@<remote_ip>Trong ví dụ của chúng ta thì lệnh cụ thể làssh -i %USERPROFILE%/.ssh/ssh_key -p 22 luan_vanphuoc@xxx.xxx.xxx.xxx
  • Vậy là mình đã connect được vào remote server với cặp ssh key vừa được sinh ra, mà không cần tới việc nhập password lằng nhằn.

+ Lưu ý: Ngoài cách vào remote server như ở trên. Các bạn cũng có thể dùng lệnh scp để copy trực tiếp nhá.

3. Cài đặt và cấu hình ssh remote extention trong visual studio code

  • Cài đặt Remote-SSH extension trên visual studio code
Remote — SSH extension
  • Sau khi cài đặt bạn sẽ thấy icon của Remote — ssh extension như hình sau.
  • Mở file configuration bằng lệnh: ctrl + shift + p và tìm bằng từ khóa ssh configuration.
Host <ten_muon_dat>HostName <remote_server_ip>User <remote_server_username>Port 22IdentityFile <duong_dan_toi_private_ssh_key>
  • Trong ví dụ của chúng ta, file configuration có nội dung của một kết nối như sau:
Host VPL-1HostName 35.240.182.72User luan_vanphuocPort 22IdentityFile C:\Users\VPL\.ssh\ssh_key
  • Xong vậy là hoàn tất việ c cấu hình, bây giờ thử connect nha.
  • Bạn chọn Remote extension icon sẽ thấy hiện ra danh sách cái kết nối từ file cấu hình.
  • Bây giờ thử duyệt file và termial trong remote server nhá.
  • Như bạn thấy là chúng ta đã duyệt được vào cấu trúc thư mục và terminal bên trong remote server rồi . ahihi.

to be continue … :))

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store