SSH không những tạo ra một môi trường truyền dữ liệu điều khiển đầu từ xa an mà nó còn có thể được dùng để truyền luồng (tunnel) lưu lượng, trao đổi file, bung hệ thống file từ xa...Bài viết sẽ giúp người dùng biết cách sử dụng những tính năng này qua SSH server.
SSH không chỉ xác thực qua một kết nối mã hóa bảo mật mà toàn bộ lưu lượng SSH cũng được mã hóa bảo mật. Dù bạn có đang truyền một tệp tin, lướt web hay chạy một câu lệnh thì những hành động này là an toàn.
SSH tunneling
Tính năng SSH tunneling cho phép một SSH server từ xa đóng vai trò như một proxy server. Lưu lượng mạng từ hệ thống cục bộ được gửi qua một kết nối an toàn đến SSH server. Ví dụ như, ta có thể chuyển hướng lưu lượng duyệt web qua một đường hầm SSH để mã hóa nó. Điều này sẽ chặn người dùng trên mạng công cộng bắt được thông tin duyệt web hay website từ mạng nội bộ.
Tất nhiên, lưu lượng sẽ không được mã hóa bảo mật khi rời khởi SSH server và truy cập vào Internet. Với web server được truy cập thông qua đường hầm, kết nối hiển thị là kết nối bắt nguồn từ một máy tính đang chạy SSH server chứ không phải từ máy tính cục bộ.
Trên Linux, sử dụng câu lệnh sau để tạo một SOCKS proxy ở cổng 9999 trên máy cục bộ:
ssh –D 9999 –C user@host>
Đường hầm sẽ được mở cho đến khi kết nối SSH kết thúc.
Mở trình duyệt web (hoặc ứng dụng khác) và đặt SOCKS proxy là cổng 9999 và localhost. Sử dụng localhost bởi đầu vào đường hầm (tunnel entrance) đang chạy trên máy tính cục bộ.
Trao đổi file bằng lệnh SCP
Câu lệnh SCP (secure copy) cho phép người dùng truyền file giữa một máy đầu xa chạy SSH server và máy cục bộ của mình.
Ví dụ như, để sao chép một file cục bộ đến một hệ thống ở xa, sử dụng câu lệnh có cú pháp sau:
scp /path/to/local/file user@host:/path/to/destination/file
Để sao chép một file từ một SSH server đầu xa vào máy cục bộ, sử dụng câu lệnh có cú pháp sau:
scp -r user@host:/path/to/remote/file /path/to/destination/file
Bung các thư mục đầu xa
Người dùng cũng có thể bung một thư mục ở xa thông qua SSH và truy cập giống như những thư mục khác trên chính máy của mình mà không cần câu lệnh scp dài dòng.
Nếu đang sử dụng Ubuntu hoặc môi trường giao diện màn hình trên nền tảng GNOME sử dụng trình quản lý file Nautilus, hãy khởi chạy trình quản lý file, kích vào thực đơn File và chọn Connect to Server.
Nhập thông tin chi tiết của SSH server và thông tin chứng thực.
Những file trên máy đầu xa sẽ xuất hiện trong trình quản lý file.
Những môi trường giao diện màn hình khác của Linux có thể có những tùy chọn tương tự để bung dễ dàng một thư mục qua SSH.
Giữ lại phiên SSH
Mỗi lần đăng nhập SSH, một phiên mới sẽ xuất hiện. Khi đăng xuất, phiên sẽ bị đóng. Nhưng ta có thể giữ lại phiên nhờ câu lệnh screen.
Sau khi đăng nhập hệ thống từ xa, chạy câu lệnh screen để khởi chạy một phiên màn hình (screen session). Chạy những câu lệnh cần thiết trong phiên màn hình và sau đó nhấn Ctrl + A. Nhập tiếp d để tách phiên màn hình.
Phiên màn hình và những câu lệnh chạỵ trong nó sẽ tiếp tục chạy trên nền. Để gắn lại vào phiên màn hình lần sau, chạy câu lệnh screen –r.
SSH chấp nhận cả những câu lệnh đang chạy khi người dùng đăng nhập, vì thế người dùng có thể kết nối với một SSH server và kết nối lại với một phiên màn hình bằng câu lệnh sau:
ssh –t user@host screen –r
Nếu đang truy cập vào máy cục bộ chạy SSH server thì người dùng có thể chuyển giữa việc truy cập phiên màn hình cục bộ và từ xa.
Trực quan hóa khóa xác thực (key Fingerprints)
Khi kết nối SSH server từ một máy tính khác, người dùng sẽ thấy một bản tin cảnh báo xuất hiện nếu máy tính chưa biết chìa khóa xác thực của nó. Bản tin này giúp người dùng chắc chắn rằng máy đầu xa không bị giả mạo bởi một máy tính khác.
Tuy nhiên, chuỗi ký tự làm khóa công khai để xác thực cho máy đầu xa thực sự dài và khó nhớ cho người dùng. Để tạo một khóa dễ nhớ hơn, hãy kích hoạt tính năng “visual host key”.
Người dùng có thể kích hoạt tính năng này trong file cấu hình SSH hoặc chỉ định cho nó làm một tùy chọn trong khi chạy SSH. Ví dụ như, hãy chạy câu lệnh sau để kết nối với một SSH server đã kích hoạt VisualHostKey:
ssh –o VisualHostKey=yes user@host>
Bây giờ bạn sẽ chỉ phải nhớ tấm hình trực quan hóa này, chứ không phải một chuỗi ký tự dài nữa.