Cách bật SSH trên switch Cisco Catalyst
Hướng dẫn VPS Hosting & Máy chủ · cập nhật 03/08/2026
Để bật SSH trên switch Cisco, bạn gán IP quản trị, đặt hostname cùng domain-name, sinh cặp khóa RSA, cấu hình line vty nhận SSH, rồi tạo tài khoản đăng nhập. Việc này mất khoảng 15 phút và làm qua cáp console.
Switch Cisco xuất xưởng chỉ cho vào bằng cáp console cắm trực tiếp. Bật SSH xong, bạn quản trị được từ bất cứ máy nào trong mạng bằng PuTTY hoặc lệnh ssh, và mọi thứ truyền đi đều được mã hóa, khác hẳn telnet gửi mật khẩu dạng chữ thường.
- Gán địa chỉ IP quản trị và default gateway.
- Đặt hostname và domain-name cho thiết bị.
- Sinh cặp khóa RSA.
- Cấu hình
line vtychỉ nhận kết nối mã hóa. - Tạo tài khoản đăng nhập và bật mã hóa mật khẩu.
- Kiểm tra bằng
show ip sshrồi đăng nhập thử từ máy khác.
Các lệnh trong bài chạy trên Cisco Catalyst 3750 với Cisco IOS, và dùng được cho phần lớn dòng Catalyst khác gồm 2960, 3560, 3850. Bản IOS phải là bản có bộ mã hóa, tên file thường chứa chữk9. Bản không có k9 sẽ không nhận lệnhcrypto key generate.
SSH khác telnet thế nào trên thiết bị Cisco
Telnet gửi toàn bộ phiên làm việc dưới dạng chữ thường, gồm cả tên đăng nhập và mật khẩu. Bất cứ ai bắt được gói tin trên đường truyền đều đọc ra được. SSH mã hóa toàn bộ phiên bằng cặp khóa RSA sinh ngay trên thiết bị, nên gói tin bắt được chỉ là dữ liệu vô nghĩa.
| Tiêu chí | Telnet | SSH |
|---|---|---|
| Cổng mặc định | 23 | 22 |
| Mã hóa phiên | Không | Có |
| Cần sinh khóa trước | Không | Có, bằng crypto key generate rsa |
| Yêu cầu bản IOS | Bản nào cũng chạy | Bản có bộ mã hóa, tên chứa k9 |
| Cần hostname và domain-name | Không | Có, để đặt tên cho khóa |
| Nên dùng khi | Phòng lab tách biệt | Mọi hệ thống chạy thật |
Sau khi bật SSH, nên cấm luôn telnet bằng transport input ssh trên line vty. Để cả hai cùng bật thì kẻ tấn công chỉ việc chọn đường không mã hóa.
Các bước bật SSH trên switch Cisco
Sáu bước dưới đây làm trong một phiên console. Đừng làm qua telnet, vì bước cấu hình line vty sẽ ngắt chính phiên bạn đang dùng và bạn không vào lại được cho tới khi ra tận nơi cắm cáp.
1. Gán IP quản trị và default gateway
Bước này bỏ qua được nếu switch đã có IP quản trị. Ví dụ dùng địa chỉ 192.168.101.2 trong VLAN 101, default gateway trỏ về tường lửa ở 192.168.101.1:
# ip default-gateway 192.168.101.1
# interface vlan 101
(config-if)# ip address 192.168.101.2 255.255.255.0
Cách gán IP quản trị chi tiết hơn, kèm phần nối cáp console và đặt mật khẩu, có ở bài 7 bước cấu hình Switch Cisco 2960.
2. Đặt hostname và domain-name
# config t
(config)# hostname myswitch
(config)# ip domain-name kb.bizmac.com
Hai giá trị này bắt buộc phải có trước khi sinh khóa, vì tên khóa RSA được ghép từ hostname và domain-name. Thiếu một trong hai thì lệnh sinh khóa báo % Please define a domain-name first.
3. Sinh cặp khóa RSA
myswitch(config)# crypto key generate rsa
The name for the keys will be: kb.bizmac.com
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
Độ dài khóa nhập ở dòng How many bits in the modulus. Chọn 1024 trở lên, vì giao thức phiên bản 2 yêu cầu tối thiểu 768 bit, còn khóa 512 bit chỉ chạy được với phiên bản 1 đã lỗi thời. Sinh khóa 2048 bit mất vài phút trên thiết bị đời cũ, đó là chuyện bình thường chứ không phải treo máy.
Nếu bản IOS đang chạy đã cũ, nên nâng cấp lên bản mới hơn trước khi làm bước này, vì các bản cũ chỉ hỗ trợ giao thức phiên bản 1.
Cấu hình line vty và tài khoản đăng nhập
Sinh khóa xong thì thiết bị đã sẵn sàng về mặt mã hóa, nhưng thiết bị vẫn chưa nhận kết nối vì các đường truy cập từ xa line vty mặc định chỉ mở cho telnet. Ba bước dưới đây chuyển chúng sang giao thức mã hóa và tạo tài khoản để đăng nhập.
4. Cấu hình line vty chỉ nhận SSH
# line vty 0 4
(config-line)# transport input ssh
(config-line)# login local
(config-line)# exit
Dòng transport input ssh là chỗ chặn telnet: từ lúc này chỉ kết nối mã hóa mới vào được. Dòng login local bảo thiết bị xác thực bằng danh sách tài khoản lưu ngay trên nó, thay vì bằng một mật khẩu dùng chung.
Cấu hình luôn cổng console cho đồng bộ:
# line console 0
(config-line)# logging synchronous
(config-line)# login local
Lệnh logging synchronous giữ cho các thông báo hệ thống không chen ngang vào giữa dòng bạn đang gõ, đỡ phải gõ lại lệnh.
5. Tạo tài khoản và bật mã hóa mật khẩu
Chế độ login local cần ít nhất một tài khoản, nếu không bạn sẽ tự khóa mình ra ngoài:
myswitch# config t
Enter configuration commands, one per line. End with CNTL/Z.
myswitch(config)# username ramesh password mypassword
Đặt mật khẩu cho privileged mode nếu chưa có:
myswitch# enable secret myenablepassword
Dùng enable secret chứ không dùng enable password: lệnh secret lưu mật khẩu dưới dạng băm, lệnh password chỉ mã hóa yếu và có công cụ giải ngược trong vài giây.
Bật mã hóa cho các mật khẩu còn lại trong file cấu hình:
myswitch# service password-encryption
Sau lệnh này, chạy show running-config chỉ thấy chuỗi đã mã hóa thay vì mật khẩu đọc được. Lưu cấu hình lại để nó còn sau khi khởi động:
myswitch# copy running-config startup-config
Cách kiểm tra SSH đã bật trên switch
Hai phép kiểm cho biết SSH đã chạy: lệnh show ip ssh ngay trên thiết bị, và một lần đăng nhập thật từ máy khác. Làm cả hai, vì lệnh đầu chỉ xác nhận dịch vụ đã bật, không xác nhận tài khoản và đường mạng có thông hay không.
6. Xem trạng thái bằng show ip ssh
myswitch# sh ip ssh
SSH Enabled - version 1.99
Authentication timeout: 120 secs; Authentication retries: 3
Dòng SSH Enabled xác nhận dịch vụ đã chạy. Chữ version 1.99 nghĩa là thiết bị nhận cả phiên bản 1 và 2 để tương thích ngược. Muốn chỉ nhận phiên bản 2, chạy ip ssh version 2 trong chế độ config.
Đăng nhập thử từ một máy khác, dùng địa chỉ quản trị đã đặt ở bước 1:
remote-machine# ssh 192.168.101.2
login as: ramesh
Using keyboard-interactive authentication.
Password:
myswitch>en
Password:
myswitch#
Xong đúng khi bạn vào được tới dấu nhắc # của privileged mode. Giữ nguyên phiên console đang mở cho tới khi thử thành công, đó là đường lui duy nhất nếu có gì sai.
Lỗi hay gặp khi bật SSH trên Cisco
Bốn tình huống dưới đây chiếm phần lớn các ca bật SSH không thành. Mỗi tình huống có thông báo riêng nên đọc dòng lỗi là biết rơi vào ca nào.
Thiết bị không nhận lệnh crypto. Dòng % Invalid input detected ngay tại chữ crypto nghĩa là bản IOS không có bộ mã hóa. Chạy show version xem tên file ảnh IOS, không có chữ k9 thì phải nâng cấp IOS mới bật được SSH.
Báo thiếu domain-name. Dòng % Please define a domain-name first. Quay lại bước 2, chạy ip domain-name rồi sinh khóa lại.
Kết nối bị từ chối ngay lập tức. Kiểm tra theo thứ tự: show ip ssh có báo Enabled không, show ip interface brief xem interface VLAN quản trị đã up chưa, và máy nguồn có thông tới địa chỉ đó không. Nếu sh ip ssh báo SSH Disabled - version 2.0 thì cặp khóa chưa được sinh, làm lại bước 3.
Đăng nhập báo sai mật khẩu dù gõ đúng. Thường là chưa tạo tài khoản nào trong khi line vty đã đặt login local. Vào lại bằng console và chạy lệnh username ở bước 5.
Việc nên làm sau khi SSH đã chạy
Xóa các cấu hình cũ còn cho phép telnet trên những line vty khác. Nhiều switch có nhiều dải vty, ví dụ line vty 0 4 và line vty 5 15; đặt transport input ssh cho dải này mà quên dải kia là vẫn còn cửa telnet mở. Chạy show running-config | section line vty để rà lại toàn bộ.
Sau đó giới hạn nguồn được phép kết nối bằng access list, chỉ cho dải IP của quản trị viên vào cổng 22. Thêm ip ssh time-out 60 và ip ssh authentication-retries 2 để cắt sớm các phiên dò mật khẩu. Ghi lại thông tin đăng nhập vào nơi lưu trữ chung của đội, vì mất mật khẩu trên thiết bị Cisco đồng nghĩa với việc phải ra tận nơi khôi phục qua cáp console.