SSH Secure Shell có đặc điểm là giao diện trực quan hơn và dễ sử dụng hơn PuTTy. Bài viết này mình sẽ hướng dẫn cách thiết lập Public key trên Server và máy tính để bạn có thể đăng nhập mà không cần mật khẩu.
Đầu tiên, bạn Login và VPS với các thông tin đăng nhập của bạn
Để kết nối bằng public key, bạn phải tạo ra một cặp khóa, 1 khóa riêng trên máy tính và 1 khóa để tải lên cho các máy chủ.
Trong cửa sổ ssh bạn đã đăng nhập ban đầu, tức là tại thư mục root, bạn thực hiện các lệnh sau:
Bước 1: Tạo thư mục chứa key tạm thời:
mkdir .ssh2
touch .ssh2/authorization
Bước 2: Thiết lập kết nối
Chọn Edit -> Settings… -> File Transfer -> Advanced (Lưu ý: “File Transfer” xuất hiện hai lần trong “Settings”)
Bỏ chọn “Preserve original file time“
Bước 3: Tạo ra một cặp khóa
Chọn Edit -> Settings… -> User Authentication – > Keys -> Generate New…
Chọn Next.
Ta giữ nguyên các giá trị mặc định:
Key Type: DSA
Key Length: 2048
Chọn Next và đợi một lúc.
Sau khi key đã được tạo, nhấn Next tiếp
Bây giờ, bạn nhập một số thông tin để lưu key lại:
FILE NAME: Tên file. Bạn đặt tên gì cũng được, miễn là không có cách trống và ký tự đặc biệt, ví dụ như nguyen_phung_hung
COMMENT: Phần chú thích thôi, bạn nhập gì cũng được, để biết đây là key của vps nào.
PASSPHRASE: Ở 2 ô này, bạn có thể nhập mật khẩu để tăng cường bảo mật cho public key, mật khẩu này dễ nhớ đối với bạn là được. Bởi vì chỉ có ai có public key trong tay mới có thể đăng nhập được. Nếu ko đặt passphrase thì sau khi tạo, chỉ cần click đúp vào biểu tượng của nó là bạn sẽ đăng nhập trực tiếp vào vps luôn, còn nếu đặt thì nó sẽ hỏi mật khẩu. Đặt cái này để phòng trường hợp người khác sử dụng máy tính của bạn rồi nghịch lung tung thôi.
Nhập xong, nhấn Next
Bước 4: Upload Public key lên server
Chọn Upload Public key để tải lên Server
Thao tác này sẽ tải lên một tập tin có tên nguyen_phung_hung.pub vào thư mục .ssh2 mà bạn tạo ở trênvà cập nhật nội dung cho tập tin .ssh/authorization
Nhấn Finish để kết thúc. Thao tác trên máy tính đã xong, chỉ còn một vài bước đơn giản trên Server nữa thôi.
Vẫn tại cửa sổ lệnh lúc nãy, tức là đang ở thư mục root, bạn gõ lệnh dưới đây.
Lưu ý: – Nếu bạn nhận được lỗi: mkdir: cannot create directory `.ssh': File exists
thì cứ bỏ qua đi vì trong lúc SSH Secure Shell upload key lên nó đã tạo rồi.
– Thay tên file nguyen_phung_hung.pub bằng tên file lúc nãy mà bạn tạo.
mkdir .ssh
chmod 700 .ssh
cp .ssh2/nguyen_phung_hung.pub.ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
Nhập nội dung key vào tập tin .ssh/authorized_keys:
ssh-keygen -i -f .ssh2/nguyen_phung_hung.pub >> .ssh/authorized_keys
Bước 5: Tạo shortcut để đăng nhập VPS
Bây giờ bạn tạo Shortcut cho VPS của bạn trên Desktop để tiện truy cập:
Vào Edit -> Settings… -> Profile Settings -> Create Shortcut
Thay đổi một số thiết lập Layout và lưu lại nếu cần thiết:
Edit -> Settings… -> Global Settings -> Appearance -> Font -> Font Size : 14
File -> Save Layout
Để khóa không cho đăng nhập vào cổng SSH thì bạn làm như sau:
Mở file: /etc/ssh/sshd_config
bằng lệnh:
vi /etc/ssh/sshd_config
Bỏ dấu # trước dòng MaxAuthTries 3
-> Nghĩa là sau 3 lần không login thành công sẽ kick.
AuthorizedKeysFile .ssh/authorized_keys
-> dùng key được thiết lập
PasswordAuthentication no
-> dòng này rất quan trọng, không cho phép đăng nhập bằng password.
Quá đơn giản đúng không.
Như vậy là chúng ta đã vừa tạo được public key dùng để đăng nhập vào VPS mà không cần phải nhớ mật khẩu phức tạp, và khóa được cổng đăng nhập SSH để đảm bảo an toàn cho VPS của bạn.
Nguyễn Phùng Hưng