Mã hóa file config khi chuyển sang máy khác năm 2024

Mình vừa tham gia 1 buổi seminar hướng dẫn về làm việc với ssh của 1 đồng nghiệp trong công ty. Thấy hay nên mình viết để lưu lại để tiện lấy ra dùng khi quên. Mong rằng giúp ích được j đó cho các bạn.

Khái niệm: SSH (Secure Shell) là một giao thức điều khiển từ xa cho phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet. Giao thức này giúp người dùng giao tiếp với server từ xa, và đảm bào rằng qúa trình giao tiếp này diễn ra trong tình trạng mã hóa, nhờ kỹ thuật cryptographic.

Nó cung cấp thuật toán để chứng thực người dùng từ xa, chuyển input từ client (local) tới host (server) và gửi kết quả trả về tới client.

2. Sử dụng

2.1 Bài toán

Bài toán đặt ra là làm thế nào để thao tác với server từ local

2.2 Giải quyết

2.2.1 Config phía Local

Bước 1: Tạo ssh key

ssh-keygen -f ssh_file_name

VD:

apt-get update
apt-install openssh-server
service ssh restart

3

Sau đó ấn enter tới khi hoàn tất

Mã hóa file config khi chuyển sang máy khác năm 2024

Sau khi hoàn thành sẽ có 2 file trong thư mục

apt-get update
apt-install openssh-server
service ssh restart

4 :

  • id_rsa_local file ssh private. Ko đc cung cấp cho ng khác
  • id_rsa_local.pub file này là file public (.pub). Dùng để đem đi add vào server hoặc đưa cho người ta thoải mái để họ add vào server

Mã hóa file config khi chuyển sang máy khác năm 2024

Note: Mặc định khi k truyền

apt-get update
apt-install openssh-server
service ssh restart

5 thì nó sẽ sinh ra ssh key với name là

apt-get update
apt-install openssh-server
service ssh restart

6

2.2.2 Config phía Server

Connect vào Server thông qua .pem file

Bước 1: Cài đặ ssh cho server bằng các lệnh sau

apt-get update
apt-install openssh-server
service ssh restart

Bước 2: Tạo .ssh folder

  • mkdir ~/.ssh

  • Tạo authorized_keys file trong

    apt-get update apt-install openssh-server service ssh restart

    7

    touch ~/.ssh/authorized_keys

  • Cấp quyền read, write thư mục authorized_keys cho own user.

    chmod 600 ~/.ssh/authorized_keys

  • Thêm

    apt-get update apt-install openssh-server service ssh restart

    8 ở phần 1 vào

    apt-get update apt-install openssh-server service ssh restart

    9

    • Lấy ssh public key phía Local:

      cat ~/.ssh/irsa.pub

      Nhấn

       mkdir ~/.ssh  
      
      0 để
    • Thêm vào

      apt-get update apt-install openssh-server service ssh restart

      9 phía Server:

      nano ~/.ssh/authorized_keys

      Nhấn

       mkdir ~/.ssh  
      
      2 để paste vào file sau đó lưu lại.

2.2.3 Sử dụng

Cú pháp:

  mkdir ~/.ssh

3

Ví dụ:

ssh [email protected]

Note: Dùng option

  mkdir ~/.ssh

4 cho trường hợp chỉ định cụ thể file ssh. Vì ssh đó chưa khai báo trong config dưới local. mặc định thì nó sẽ lấy id_rsa

ssh [email protected] -i ~/.ssh/id_rsa_local

2.3 Nâng cao 1 xíu

2.3.1 Bài toán 1

Khi bạn trải qua nhiều dự án, và phải connect với nhiều server thì việc nhớ user và ip của server từng dự án để ssh lên khi có vấn đề thì cũng khá là căng đúng ko nào?

2.3.2 Giải quyết - Tạo config shortcut

  • Mở file config ssh ~/.ssh/config

    nano ~/.ssh/config

  • Thêm config ssh cho HOST

    apt-get update apt-install openssh-server service ssh restart

    0

    •  mkdir ~/.ssh  
      
      5 shortcut name để connect đến server(host).
    •  mkdir ~/.ssh  
      
      6 IP or domain của server(host)
    •  mkdir ~/.ssh  
      

      7 path dẫn đến ssh file, file này phải là file ssh private mapping với ssh public key mà mình đã add vào thư mục

      apt-get update apt-install openssh-server service ssh restart

      9 trên server

       mkdir ~/.ssh  
      

      9 username có quyền ssh vào server Ví dụ:

      apt-get update apt-install openssh-server service ssh restart

      1
  • Sử dụng thôi :v
    • Cú pháp:

      touch ~/.ssh/authorized_keys

      0
    • ssh tới server ip loằng ngoằng phía trên:

      touch ~/.ssh/authorized_keys

      1

2.3.3 Bài toán 2

Bài toán tiếp theo là làm thế nào để sử dụng được nhiều account github trên 1 máy tính

Khi đi làm công ty, thông thường bạn sẽ tạo 1 github mới để phục vụ trong công việc trên cty. Và bạn cũng muốn sử dụng accoutn github cá nhân của mình nữa.