Khi viết hướng dẫn thêm font cho PuTTY trên N95, tôi nhanh chóng thấy việc nhập user/pass mỗi lần đăng nhập mất quá nhiều thời gian. Vậy tôi tạo cặp khóa RSA với pass phrase rỗng để tiết kiệm thời gian. Đừng lo, tôi xóa cặp khóa ngay sau khi xong. Đבר cuối cùng cần là mất điện thoại và người lạ đăng nhập vào server!
Lưu ý: Thủ tục không chỉ dành cho N95, cũng không chỉ Linux. Tôi dùng Linux trong ví dụ vì không dùng Windows. Quy trình tạo khóa RSA dưới đây có thể áp dụng cho puttygen.exe trên Windows.
- Trên máy Linux làm sau:
[user@radon ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
79:8a:08:bd:fb:da:71:59:f4:28:e6:c3:01:12:5a:69 user@radon.example.com[user@radon ~]$ cd .ssh/
[user@radon .ssh]$ ls
id_rsa id_rsa.pub known_hosts
[user@radon .ssh]$ cat id_rsa.pub > authorized_keys
[user@radon .ssh]$ chmod 644 authorized_keysLệnh chmod rất quan trọng. File authorized_keys bắt buộc chỉ ghi được bởi bạn. Nếu ghi được bởi group, sshd sẽ từ chối dùng.
- Bước này cũng quan trọng! Chuyển khóa riêng OpenSSH sang định dạng SSH-2 của PuTTY. Ban đầu tôi thử dùng khóa riêng OpenSSH trực tiếp, không nhận ra PuTTY không đọc được. Mất thời gian tìm hiểu tại sao không chạy. Ai ngờ PuTTY, OpenSSH, và ssh.com triển khai khóa SSH-2 khác biệt đến vậy?
[user@radon .ssh]$ puttygen id_rsa -o id_rsa.ppk
- Cắm N95 vào laptop qua USB, copy id_rsa.ppk vào thư mục tạm trên bộ nhớ điện thoại.
- Khởi động PuTTY trên N95, chọn Options -> Edit -> General, thêm tên host hoặc địa chỉ remote, và user name.
- Nhấn Right toggle một lần sang màn hình tiếp. Đây là nơi chọn Private Key. Theo trình tự ảnh chụp màn hình dưới để xem tôi chọn E:\temp\id_rsa.ppk như thế nào.
- Nhấn Back hai lần về màn hình chính PuTTY, rồi Options -> Connect – giờ kết nối không cần mật khẩu.






