Câu trả lời:
Làm điều đó với Putty.
Linux: với trình quản lý gói của bạn, cài đặt PuTTY (hoặc các công cụ PuTTY tối thiểu hơn):
sudo apt-get install putty-tools
apt-get install putty-tools
yum install putty
emerge putty
sudo pacman -S putty
OS X: Cài đặt Homebrew , sau đó chạybrew install putty
Đặt chìa khóa của bạn trong một số thư mục, ví dụ thư mục nhà của bạn. Bây giờ chuyển đổi các khóa PPK thành keypairs SSH: tìm kiếm bộ đệm
Để tạo ra các tin chính:
cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa
và để tạo ra công chính:
puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub
Di chuyển các khóa này sang ~/.ssh
và đảm bảo các quyền được đặt thành riêng tư cho khóa riêng của bạn:
mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub
Nếu bạn đã cố gắng thực hiện thao tác ' git clone ', bạn cũng có thể cần phải thực hiện việc này
chmod 666 ~/.ssh/known_hosts
./ssh/config
tập tin của mìnhHost mysite.com Hostname mysite.com IdentityFile ~/.ssh/id_dsa IdentitiesOnly yes
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
-i
cờ được nhập từ định dạng openssh-f
cờ có nghĩa là đọc từ tập tin đầu vàoNguồn: một blogpost tại burnz.wordpress.com
Lấy khóa riêng:
mở tệp .ppk trong puttygen:
puttygen ~/.ssh/id_dsa.ppk
xuất dưới dạng openssh:
Chuyển đổi → Xuất khóa OpenSSH
Lấy khóa công khai:
mở như trước khóa riêng với puttygen, khóa chung nằm dưới khóa chung để dán vào tệp OpenSSH ủy quyền
Tôi đã chuẩn bị một container Docker để làm cho cuộc sống đơn giản hơn:
docker run --rm \
--volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
--volume=/path/to/output:/tmp/out/ \
czerasz/putty-tools
Ở đâu:
/path/to/file.ppk
- đường dẫn cục bộ đến tệp ppk của bạn/path/to/output
- đường dẫn cục bộ đến nơi cần đặt khóa riêng và khóa chung--volume=/path/to/file.ppk:/tmp/id.ppk
và khôngid_dsa.ppk