[SSH] Chuyển đổi private key giữa OpenSSH và Putty

Putty là một trong những ứng dụng nhỏ gọn trên hệ điều hành Windows (Linux cũng có ở môi trường đồ hoạ) và phổ biến nhất cho việc kết nối SSH đến các SSH server. Nếu chỉ nói đến phần kết nối SSH bằng chứng thực mật khẩu thì không có gì đáng bàn. Nhưng điều mình muốn đề cập đến trong nội dung bài này chính là việc sử dụng SSH key để chứng thực giữa SSH Server và SSH Client.

Đối với việc này thì Putty gây ra 1 khó khăn nho nhỏ nhưng có thể giải quyết đó là format key do Putty sinh ra. Giả dụ, bạn tạo một cặp key bằng OpenSSH với lệnh ‘ssh-keygen‘ sinh ra cặp key private – public key, ví dụ mặc định như id_rsa id_rsa.pub . Nhưng putty chỉ hỗ trợ format private key riêng với đuôi extension là .ppk thì ta phải làm thế nào để chuyển đổi (convert) key từ OpenSSH sang .ppk nhằm giúp Putty sử dụng ?

Tình huống kế bạn tạo key bằng tool ‘Puttygen‘ ra file private key .ppk nhưng dịch vụ OpenSSH của máy chủ Server lại chỉ hỗ trợ dạng chuẩn của file private key theo chuẩn chung trên Linux thì chúng ta phải làm sao ?

Mình sẽ trình bày các cách chuyển đổi key giữa 2 bên để các bạn thuận tiện sử dụng trong công việc.

Contents

I. Trường hợp convert “private key OpenSSH” thành “private key Putty”

1.1 Sử dụng chương trình Puttygen trên Linux

– Cài đặt chương trình putty trên OS

# yum install epel -y
# yum install putty -y

 
+ Chuyển đổi key RSA private từ chuẩn OpenSSH sang Putty format .ppk .

# puttygen $HOME/.ssh/id_rsa -o $HOME/.ssh/id_rsa.ppk

 
+ Chuyển đổi key DSA private từ chuẩn OpenSSH sang Putty format .ppk .

# puttygen $HOME/.ssh/id_dsa -o $HOME/.ssh/id_dsa.ppk

 
Thế là xong, nhiệm vụ của bạn bây giờ đơn giản là copy/download file private key format Putty “id_rsa.ppk” xuống máy và cấu hình putty kết nối bằng private key này thôi.

 
1.2 Sử dụng chương trình Puttygen trên Windows trực tiếp

Bạn tải private key format OpenSSH là file id_rsa về máy có cài Puttygen. Sau đó bạn khởi động chương trình Puttygen lên.
– Chọn tab File > Load private key , ở đây hãy load file private key OpenSSH id_rsa.

putty 0

 
– Sau khi Load xong sẽ có bảng thế này.

putty 1

 
– Kế đến ta chọn button “Save private key“.

putty 2

 
– Ta chọn đường dẫn lưu lại và tên.

putty 3 
– Hoàn thành.

Vậy công đoạn này cũng đã hoàn tất, bạn hãy thử kết nối bằng private key putty mà bạn vừa chuyển đổi.

 
II. Trường hợp convert “private key Putty” thành “private key OpenSSH”

Ở phần này mình hướng dẫn chuyển đổi public key từ Puttygen khởi tạo thành public key của OpenSSH sử dụng. Phiên bản hiện nay của Putty đã hỗ trợ trích xuất nội dung public key do Puttygen tạo ra màn hình và bạn chỉ cần copy nội dung đó dán vào file $HOME/.ssh/authorized_keys của máy remote.

 
2.1 Sử dụng chương trình Puttygen trên linux

– Chuyển đổi private key format Putty sang private key format OpenSSH.

# puttygen $HOME/.ssh/id_rsa.ppk ‐O private‐openssh ‐o $HOME/.ssh/id_rsa

hoặc

# puttygen $HOME/.ssh/id_dsa.ppk ‐O private‐openssh ‐o $HOME/.ssh/id_dsa

 
Bây giờ bạn có thể sử dụng cặp key private vừa convert và public key do Puttygen sinh ra đang có để kết nối giữa các máy Linux với nhau.

 
2.2 Sử dụng chính chương trình Puttygen

– Chọn tab File > Load private key , ở đây hãy load file private key Putty id_rsa.ppk. (giống phần trên)
– Kế đến ta chọn tab Conversations > Export OpenSSH key.

putty 4
– Ta chọn đường dẫn lưu lại và tên.
– Hoàn thành.

Thế là bạn đã theo dõi xong bài viết chuyển đổi key private giữa Putty và OpenSSH để thuận tiện cho việc sử dụng.

Chúc các bạn thành công. Đừng ngại ngần comment nếu bạn có bất cứ vấn đề gì cần trao đổi với mình nhé.

Previous articleTuanmmt & Network
Next articleGoogle Chrome 43.0.2357.130
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !