Hướng dẫn mở SSH trên Router, Linux và Windows (cho System Engineer)
SSH (Secure Shell) là giao thức cực kỳ quan trọng trong quản trị hệ thống và mạng. Nó cho phép bạn truy cập thiết bị từ xa một cách an toàn (có mã hóa), thay thế hoàn toàn Telnet vốn truyền dữ liệu dạng plaintext.
Trong thực tế, bạn sẽ cần mở SSH trên nhiều nền tảng khác nhau: Router (Cisco), Linux server và Windows.
1. Mở SSH trên Router Cisco
Đây là bước bắt buộc nếu bạn muốn remote vào router một cách bảo mật. Bước 1: Đặt hostname và domain
SSH yêu cầu phải có hostname và domain để tạo key RSA.
Router(config)# hostname R1
R1(config)# ip domain-name vnpro.local Bước 2: Tạo RSA Key
R1(config)# crypto key generate rsa
Khuyến nghị chọn key size:
Theo tài liệu lab, khi generate xong sẽ thấy SSH được bật
Bước 3: Bật SSH version 2
R1(config)# ip ssh version 2
SSH v2 an toàn hơn v1 (bắt buộc nên dùng).
Bước 4: Tạo user local
R1(config)# username admin password 123456
Bước 5: Cấu hình VTY line
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
Ý nghĩa:
Bước 6: Test SSH
Từ PC hoặc router khác:
ssh -l admin 192.168.1.1
Hoặc dùng PuTTY trên Windows.
2. Mở SSH trên Linux
Trên Linux, SSH thường chạy dưới dạng service (sshd). Cài đặt SSH Server (nếu chưa có)
Ubuntu/Debian:
sudo apt update
sudo apt install openssh-server -y
CentOS/RHEL:
sudo yum install openssh-server -y
Bật và kiểm tra service
sudo systemctl start ssh
sudo systemctl enable ssh
sudo systemctl status ssh
Kiểm tra port SSH (mặc định 22)
ss -tuln | grep 22
Kết nối SSH
ssh user@192.168.1.10
Lưu ý thực tế
PermitRootLogin no
3. Mở SSH trên Windows
Windows có 2 vai trò:
3.1 Windows làm SSH Client
Windows 10/11 đã có sẵn OpenSSH:
ssh user@192.168.1.10
Hoặc dùng:
3.2 Windows làm SSH Server
Bước 1: Cài OpenSSH Server
PowerShell (Run as Admin):
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Bước 2: Start service
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Bước 3: Mở firewall
New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Bước 4: Test kết nối
Từ máy khác:
ssh user@ip_windows
Tổng kết (Quan trọng cho người mới)
Góc nhìn System/Cloud thực tế
Trong môi trường enterprise hoặc cloud (Azure/AWS):
Nếu bạn mới học:
SSH (Secure Shell) là giao thức cực kỳ quan trọng trong quản trị hệ thống và mạng. Nó cho phép bạn truy cập thiết bị từ xa một cách an toàn (có mã hóa), thay thế hoàn toàn Telnet vốn truyền dữ liệu dạng plaintext.
Trong thực tế, bạn sẽ cần mở SSH trên nhiều nền tảng khác nhau: Router (Cisco), Linux server và Windows.
1. Mở SSH trên Router Cisco
Đây là bước bắt buộc nếu bạn muốn remote vào router một cách bảo mật. Bước 1: Đặt hostname và domain
SSH yêu cầu phải có hostname và domain để tạo key RSA.
Router(config)# hostname R1
R1(config)# ip domain-name vnpro.local Bước 2: Tạo RSA Key
R1(config)# crypto key generate rsa
Khuyến nghị chọn key size:
- 2048 bits (an toàn hiện nay)
Theo tài liệu lab, khi generate xong sẽ thấy SSH được bật
Bước 3: Bật SSH version 2
R1(config)# ip ssh version 2
SSH v2 an toàn hơn v1 (bắt buộc nên dùng).
Bước 4: Tạo user local
R1(config)# username admin password 123456
Bước 5: Cấu hình VTY line
R1(config)# line vty 0 4
R1(config-line)# login local
R1(config-line)# transport input ssh
Ý nghĩa:
- login local → dùng user local
- transport input ssh → chỉ cho phép SSH (chặn telnet)
Bước 6: Test SSH
Từ PC hoặc router khác:
ssh -l admin 192.168.1.1
Hoặc dùng PuTTY trên Windows.
2. Mở SSH trên Linux
Trên Linux, SSH thường chạy dưới dạng service (sshd). Cài đặt SSH Server (nếu chưa có)
Ubuntu/Debian:
sudo apt update
sudo apt install openssh-server -y
CentOS/RHEL:
sudo yum install openssh-server -y
Bật và kiểm tra service
sudo systemctl start ssh
sudo systemctl enable ssh
sudo systemctl status ssh
Kiểm tra port SSH (mặc định 22)
ss -tuln | grep 22
Kết nối SSH
ssh user@192.168.1.10
Lưu ý thực tế
- Mở firewall nếu cần:
- Nên disable login root:
PermitRootLogin no
3. Mở SSH trên Windows
Windows có 2 vai trò:
- SSH Client (để connect)
- SSH Server (để cho người khác connect)
3.1 Windows làm SSH Client
Windows 10/11 đã có sẵn OpenSSH:
ssh user@192.168.1.10
Hoặc dùng:
- PuTTY
- MobaXterm
3.2 Windows làm SSH Server
Bước 1: Cài OpenSSH Server
PowerShell (Run as Admin):
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Bước 2: Start service
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Bước 3: Mở firewall
New-NetFirewallRule -Name sshd -DisplayName "OpenSSH Server" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Bước 4: Test kết nối
Từ máy khác:
ssh user@ip_windows
Tổng kết (Quan trọng cho người mới)
- Router Cisco:
- Phải có RSA key + VTY + user local
- Linux:
- sshd service là trung tâm
- Windows:
- Phải bật OpenSSH Server thủ công
Góc nhìn System/Cloud thực tế
Trong môi trường enterprise hoặc cloud (Azure/AWS):
- SSH là phương thức chính để quản trị VM Linux
- Luôn kết hợp với:
- Key-based authentication (không dùng password)
- Security Group / NSG (chỉ mở port 22 cho IP tin cậy)
- Trong DevOps:
- SSH dùng để automation (Ansible, Terraform)
Nếu bạn mới học:
- Bắt đầu từ Linux SSH → dễ hiểu nhất
- Sau đó sang Cisco → hiểu rõ networking
- Cuối cùng là Cloud → áp dụng thực tế