Skip to main content

🔐 Sử Dụng SSH-Agent

📋 Giới Thiệu

SSH-Agent là một chương trình quản lý khóa SSH, giúp:

  • Lưu trữ private key trong bộ nhớ
  • Tự động cung cấp passphrase khi cần
  • Tăng tính bảo mật so với lưu passphrase trong file
  • Tiện lợi khi sử dụng nhiều SSH key

🎯 Mục Đích Sử Dụng

SSH-Agent đặc biệt hữu ích khi:

  • Bạn sử dụng SSH key có passphrase
  • Cần kết nối SSH thường xuyên
  • Muốn tự động hóa quá trình xác thực
  • Cần bảo mật cao hơn so với lưu passphrase trong file

🛠️ Cách Sử Dụng

1. Khởi Động SSH-Agent

# Khởi động SSH-Agent
eval $(ssh-agent)

Output sẽ hiển thị PID của agent:

Agent pid 1234

2. Thêm SSH Key

# Thêm key mặc định (~/.ssh/id_rsa)
ssh-add

# Hoặc thêm key cụ thể
ssh-add ~/.ssh/my_custom_key

Khi thêm key, bạn sẽ được yêu cầu nhập passphrase:

Enter passphrase for /home/user/.ssh/id_rsa:
Identity added: /home/user/.ssh/id_rsa (user@host)

3. Kiểm Tra Key Đã Thêm

# Liệt kê các key đã thêm
ssh-add -l

Output sẽ hiển thị thông tin key:

3072 SHA256:AbC123... user@host (RSA)

4. Sử Dụng SSH Không Cần Passphrase

# Kết nối SSH bình thường
ssh user@remote-server

# Thực thi lệnh từ xa
ssh user@remote-server 'hostname'

5. Kết Thúc SSH-Agent

# Dừng SSH-Agent
eval $(ssh-agent -k)

Output:

Agent pid 1234 killed

🔄 Tự Động Khởi Động SSH-Agent

1. Thêm vào ~/.bashrc

# Thêm đoạn code sau vào ~/.bashrc
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval $(ssh-agent -s)
ssh-add
fi

2. Hoặc tạo script riêng

#!/bin/bash
# File: ~/bin/start-ssh-agent.sh

# Kiểm tra SSH-Agent
if [ -z "$SSH_AUTH_SOCK" ] ; then
# Khởi động agent
eval $(ssh-agent -s)

# Thêm key
ssh-add ~/.ssh/id_rsa

echo "SSH-Agent started and key added"
else
echo "SSH-Agent already running"
fi

⚙️ Tùy Chọn Hữu Ích

Tùy ChọnMô Tả
ssh-add -lLiệt kê các key đã thêm
ssh-add -DXóa tất cả key
ssh-add -dXóa key cụ thể
ssh-add -t 3600Thêm key với thời gian sống 1 giờ

🔒 Lưu Ý Bảo Mật

  1. Bảo Vệ SSH-Agent:
  • Chỉ chạy SSH-Agent trên máy tin cậy
  • Đừng để SSH-Agent chạy không cần thiết
  • Sử dụng timeout cho các key quan trọng
  1. Quản Lý Key:
  • Thường xuyên kiểm tra key đã thêm
  • Xóa key không sử dụng
  • Sử dụng passphrase mạnh

📚 Tài Liệu Tham Khảo