บทช่วยสอนนี้: SSH: แปลง OpenSSH เป็น SSH2 และคีมจับในทางกลับกันดูเหมือนจะเสนอสิ่งที่คุณกำลังมองหา
แปลงคีย์ OpenSSH เป็นคีย์ SSH2
รันเวอร์ชัน OpenSSH ของssh-keygen
บนกุญแจสาธารณะ OpenSSH ของคุณเพื่อแปลงเป็นรูปแบบที่ SSH2 ต้องการบนเครื่องระยะไกล สิ่งนี้จะต้องทำบนระบบที่ใช้ OpenSSH
$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub
แปลงคีย์ SSH2 เป็นคีย์ OpenSSH
เรียกใช้รุ่น OpenSSH ของssh-keygen
รหัสสาธารณะ ssh2 ของคุณเพื่อแปลงเป็นรูปแบบที่ OpenSSH ต้องการ สิ่งนี้จะต้องทำบนระบบที่ใช้ OpenSSH
$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub
บทช่วยสอนดำเนินการเพื่อแสดงวิธีการสร้างคีย์ประเภทต่าง ๆ และวิธีส่งออกไปยังรูปแบบอื่น ๆ
ใช้สิ่งนี้สำหรับกุญแจส่วนตัว & สาธารณะ?
ตามหน้า man คำตอบจะเป็นใช่ ดูที่หน้า man ของssh-keygen
มันระบุต่อไปนี้สำหรับ-e
สวิตช์:
-e This option will read a private or public OpenSSH key file and print
the key in RFC 4716 SSH Public Key File Format to stdout. This option
allows exporting keys for use by several commercial SSH implementations.
แต่ในทางปฏิบัติมันจะปรากฏขึ้นที่ssh-keygen
ไม่สามารถแปลงคีย์ส่วนตัวได้เฉพาะสาธารณะ
ตัวอย่างเช่น:
# Make a new RSA key-pair
$ ssh-keygen -t rsa -f newkey
# attempt to extract the private key
$ ssh-keygen -e -f newkey > newkey_e
# attempt to extract the public key
$ ssh-keygen -e -f newkey.pub > newkey.pub_e
# Notice the supposed extracted private key (newkey_e) and the corresponding extracted public key (newkey.pub_e) have identical `md5sum`'s.
$ for i in *;do md5sum $i;done
d1bd1c12c4a2b9fee4b5f8f83150cf1a newkey
8b67a7be646918afc7a041119e863be5 newkey_e
13947789d5dcc5322768bd8a2d3f562a newkey.pub
8b67a7be646918afc7a041119e863be5 newkey.pub_e
การดูคีย์ที่แยกออกมาเป็นผลลัพธ์ยืนยันสิ่งนี้:
$ grep BEGIN newkey_e newkey.pub_e
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----
Googling นิดหน่อยฉันเจอปัญหานี้จากบทความที่ชื่อ: คุณจะแปลงไฟล์คีย์ส่วนตัวของ OpenSSH เป็น SSHได้อย่างไร เว็บไซต์ดูเหมือนว่าจะขึ้นและลง แต่มองในแคชของ Google สำหรับหน้านี้ฉันได้พบการแจ้งเตือนต่อไปนี้
คุณจะแปลงไฟล์กุญแจ OpenSSH Private เป็น SSH.com Private key อย่างไร
ไม่สามารถทำได้โดยโปรแกรม ssh-keygen แม้ว่าหน้าคนส่วนใหญ่จะบอกว่าสามารถทำได้ พวกเขาไม่แนะนำให้คุณใช้กุญแจสาธารณะหลายอัน ปัญหาเดียวคือ RCF จะไม่อนุญาตให้คุณลงทะเบียนพับลิกคีย์มากกว่าหนึ่งคีย์
บทความนี้ยังกล่าวถึงวิธีการแปลงรหัสส่วนตัว openssh เป็นรหัสส่วนตัว ssh.com ผ่านการใช้เครื่องมือของ PuTTY หมายเหตุ:สามารถเรียกใช้จาก Windows & Linuxputtygen
puttygen
เปิด 'puttygen' และสร้างคู่คีย์สาธารณะ / ส่วนตัว 2048 บิต rsa ตรวจสอบให้แน่ใจว่าคุณเพิ่มรหัสผ่านหลังจากสร้างแล้ว บันทึกพับลิกคีย์เป็น "puttystyle.pub" และบันทึกไพรเวตคีย์เป็น "puttystyle" โปรแกรม putty และโปรแกรม SSH.com ใช้รูปแบบพับลิกคีย์ทั่วไป แต่โปรแกรม putty และ OpenSSH มีรูปแบบพับลิกคีย์อื่น เราจะกลับมาที่นี่ในภายหลัง คุณควรจะสามารถโหลดคีย์ puttystyle ทั้งสองลงในโปรแกรม putty อย่างไรก็ตามรูปแบบคีย์ส่วนตัวสำหรับ putty และ SSH.com นั้นไม่เหมือนกันดังนั้นคุณจะต้องสร้างไฟล์ที่แปลงแล้ว ไปที่เมนูการแปลงและส่งออกคีย์ SSH.com บันทึกเป็น "sshstyle" ตอนนี้กลับไปที่เมนูการแปลงและส่งออกคีย์ openssh บันทึกเป็น "openssh" ชื่อเหล่านี้เป็นกฎเกณฑ์และคุณสามารถเลือกได้เอง คุณจะต้องเปลี่ยนชื่อสำหรับการติดตั้งบนเครื่อง OpenSSH ในภายหลัง ดูด้านล่าง
เมื่อพิจารณาจากข้างต้นฉันใช้วิธีการต่อไปนี้โดยputtygen
ใช้คู่คีย์ openssh ส่วนตัว / สาธารณะที่สร้างขึ้นก่อนหน้านี้:
# generate ssh.com private key from private openssh key
$ puttygen newkey -O private-sshcom -o newkey.puttygen-sshcom
# generate ssh.com public key from private openssh key
$ puttygen newkey -O public -o newkey.pub_puttygen-sshcom
# generate openssh public key from private openssh key (for confirmation)
$ puttygen newkey -O public-openssh -o newkey.pub_puttygen-openssh
การแสดงความคิดเห็นแตกต่างกันดังนั้นคุณจึงไม่สามารถเปรียบเทียบไฟล์ผลลัพธ์ได้ดังนั้นหากคุณดูที่ปุ่มสองสามบรรทัดแรกนั่นเป็นตัวบ่งชี้ที่ดีว่าคำสั่งข้างต้นนั้นประสบความสำเร็จ
การเปรียบเทียบคีย์สาธารณะ ssh.com:
$ tail -n +3 newkey.pub_e | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
$ tail -n +3 newkey.pub_puttygen-sshcom | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb
การเปรียบเทียบคีย์ opensh สาธารณะ:
$ cut -c 1-100 newkey.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY
$ cut -c 1-100 newkey.pub_puttygen-openssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY