Nếu thấy thoải mái khi sử dụng Linux/Unix và muốn truy cập SSH trên máy tính Windows 7, bạn có thể sử dụng Cygwin. Công cụ giả lập Linux trên Windows này cung cấp chức năng trên và mang đến cho bạn một môi trường làm việc quen thuộc chỉ với một vài bước đơn giản.
Bài viết này không đề cập đến việc cài đặt và cấu hình Cygwin, nếu chưa biết cách thực hiện, bạn có thể tham khảo bài viết Sử dụng câu lệnh Linux trong Windows với Cygwin.
Cài đặt OpenSSH
Ở đây chúng ta sẽ sử dụng OpenSSH, vì vậy nếu chưa cài đặt, tìm file setup.exe và chạy nó.
Bạn có thể giữ tất cả các giá trị mặc định giống như khi bạn thiết lập Cygwin ban đầu. Trên màn hình lựa chọn gói, tìm kiếm “open” và tìm trong menu “Net”.
Bạn sẽ thấy một gói được gọi là "openssh", click vào cột "New" và thấy "Skip" cho đến khi dấu X xuất hiện trong cột "Bin?". Nhìn vào ảnh chụp màn hình bên trên để biết nên chọn gì nếu bạn đang bối rối. Sau đó nhấn "Next" và hoàn tất quá trình thiết lập còn lại.
Cấu hình OpenSSH trong Cygwin
Không giống như hầu hết các bản phân phối Linux, OpenSSH sẽ không tự động cấu hình để chạy và hoạt động. Chúng ta cần thực hiện một vài bước đơn giản. Trước tiên, click chuột phải vào phím tắt Cygwin và click vào “Run as administrator”.
Điều này đảm bảo bạn có các quyền thích hợp để thực hiện mọi thứ. Sau đó bạn sẽ thấy một cửa sổ Cygwin trống xuất hiện.
Nhập lệnh sau:
ssh-host-config
Bạn sẽ thấy script tạo một số file mặc định và sau đó bạn sẽ được nhắc có muốn bật “Privilege Separation” hay không. Theo mặc định, nó sẽ được bật trong cài đặt OpenSSH tiêu chuẩn trên các hệ thống khác, do đó tiếp tục và chọn "yes".
Bạn sẽ được nhắc để tạo tài khoản mới với quyền đặc biệt, chọn “yes” và script sẽ tiếp tục.
Tiếp theo, bạn sẽ được hỏi có muốn chạy sshd như một dịch vụ hay không. Điều này cho phép bạn truy cập SSH ngay cả khi Cygwin không chạy. Nếu đồng ý, gõ yes để tiếp tục.
Tiếp theo, bạn sẽ được yêu cầu nhập một giá trị cho daemon. Nhập theo lệnh sau:
ntsec
Bạn sẽ thấy script cung cấp một số thông tin trên hệ thống và yêu cầu bạn tạo một tài khoản quyền đặc biệt với tên người dùng mặc định “cyg_server”. Để nguyên các thiết lập mặc định và gõ “no” khi hỏi bạn có dùng tên tài khoản khác không mặc dù bạn có thể thay đổi điều này nếu thích.
Tất nhiên, bạn cũng sẽ phải nhập mật khẩu cho tài khoản này.
Cygwin sẽ hiển thị mật khẩu của bạn dưới dạng văn bản thuần để xác minh, vì vậy hãy đảm bảo bạn đang ở một nơi an toàn. Bạn sẽ thấy một số thông tin bổ sung xuất hiện và nếu tất cả đều thực hiện đúng, bạn sẽ nhận được thông báo cho biết đã hoàn tất cấu hình.
Bạn có thể khởi động lại hoặc nhập lệnh sau để khởi động dịch vụ sshd:
net start sshd
Bây giờ, bạn có thể gõ "exit" để đóng Cygwin.
Cấu hình người dùng của SSH
Tiếp theo, bạn cần tạo các khóa SSH thích hợp cho tài khoản người dùng của bạn. Mở Cygwin bình thường và nhập lệnh sau:
ssh-user-config
Bạn sẽ được yêu cầu tạo các khóa cụ thể cho tài khoản người dùng của mình, vì vậy hãy sử dụng những gì bạn cần. Ở trong ví dụ này, gõ “no” cho câu hỏi đầu tiên và “yes” cho câu hỏi thứ hai.
SSH2 an toàn hơn, vì vậy bạn có thể sử dụng nó. Sau khi nhập mật khẩu, bạn sẽ được hỏi có muốn sử dụng ID đó để truy cập vào máy của mình hay không, gõ “yes”.
Tiếp theo, bạn sẽ được yêu cầu tạo file ID DSA SSH2, nếu muốn sử dụng truy cập không cần mật khẩu, bạn có thể từ chối ở bước này.
Vậy là bạn đã cấu hình xong. Nếu muốn kiểm tra cấu hình nhanh, nhập lệnh sau vào cửa sổ Cygwin:
ssh –v localhost
Tùy chọn –v là viết tắt của "verbose" và cung cấp cho bạn tất cả các thông tin của tiến trình. Bạn sẽ được hỏi nếu muốn tiếp tục kết nối không, vì vậy hãy nhập “yes” và sau đó nhập mật khẩu của bạn tại dấu nhắc. Hãy nhớ rằng khi nhập tên người dùng của bạn, nó sẽ phân biệt chữ hoa và chữ thường.
Nếu mọi thứ hoạt động tốt, bạn sẽ thấy dấu nhắc bash thông thường.
Vấn đề khi thiết lập truy cập SSH
Nếu bạn mắc kẹt ở bất kỳ bước cấu hình nào, hãy đảm bảo rằng Windows User Account bạn chạy có quyền truy cập quản trị. Bạn có thể nhận một số lỗi lạ nếu chạy cầu hình host với tài khoản người dùng bình thường, do vậy, đảm bảo chạy Cygwin với quyền admin trong suốt bước đó. Nếu khi thoát, bạn nhận được một lời nhắc về việc batch job đang chạy, nhấn no để chấm dứt điều này.
Cuối cùng, nếu kiểm tra truy cập SSH từ một máy khác và thấy lỗi, đảm bảo tường lửa của bạn không chặn truy cập vào cổng 22 (hoặc 23 nếu sử dụng SFTP).
Phương pháp này hoạt động rất tốt nếu bạn thích khả năng truy cập SSH/SFTP vào các file trên máy tính Windows 7 và bạn cũng muốn có một shell quen thuộc để làm điều đó. Nếu bạn đang thắc mắc thì Cygwin gắn ổ đĩa Windows vào “/cygdrive/driveletter”.
Chúc các bạn thực hiện thành công!
Xem thêm: