ใช้ไฟล์ PPK ใน Mac Terminal เพื่อเชื่อมต่อกับการเชื่อมต่อระยะไกลผ่าน SSH [ปิด]


140

ฉันใช้ Putty บน Windows XP และใช้ไฟล์. ppt เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux ของฉัน (หลายเซิร์ฟเวอร์)

บนเซิร์ฟเวอร์ฉันมีโฟลเดอร์และไฟล์ต่อไปนี้ ~ / .ssh / authorized_keys

ตอนนี้ฉันต้องการใช้ Mac เพื่อเชื่อมต่อผ่านเทอร์มินัล ฉันได้ตั้งค่าการเชื่อมต่อระยะไกลไปยังเซิร์ฟเวอร์ด้วยตนเองและต้องการทราบว่าฉันสามารถตั้งค่าโดยใช้ไฟล์ ppk หรือรหัสส่วนตัว / สาธารณะได้อย่างไร

โปรดทราบ: ฉันกำลังใช้การเข้าสู่ระบบคีย์ส่วนตัว / สาธารณะจาก Windows ดังนั้นฉันไม่จำเป็นต้องสร้างคีย์ใหม่โดยใช้ keygen ฉันแค่อยากรู้วิธีตั้งค่าตอนนี้ว่าฉันมีคีย์อยู่แล้ว (กล่าวอีกนัยหนึ่งฉันมีรายการคีย์ที่ได้รับอนุญาตบนเซิร์ฟเวอร์และคีย์สาธารณะและส่วนตัวแล้ว)

คำตอบ:


374

คุณสามารถsshโดยตรงจาก Terminal บน Mac แต่คุณต้องใช้.PEMรหัสแทนการใช้putty .PPKปุ่ม คุณสามารถใช้ PuttyGen บน Windows เพื่อแปลงจาก.PEMเป็น.PPKฉันไม่แน่ใจเกี่ยวกับวิธีอื่น ๆ

นอกจากนี้คุณยังสามารถแปลงรหัสที่ใช้puttyสำหรับ Mac ผ่านportหรือbrew:

sudo port install putty

หรือ

brew install putty

puttygenนอกจากนี้ยังจะติดตั้ง ที่จะได้รับputtygenเพื่อการส่งออก.PEMไฟล์:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

เมื่อคุณมีกุญแจเปิดหน้าต่างเทอร์มินัลและ:

ssh -i privatekey.pem user@my.server.com

คีย์ส่วนตัวต้องมีการตั้งค่าความปลอดภัยที่แน่นมิฉะนั้น SSH จะบ่น ตรวจสอบให้แน่ใจว่ามีเพียงผู้ใช้เท่านั้นที่สามารถอ่านคีย์ได้

chmod go-rw privatekey.pem

1
พอร์ต sudo แน่นอนว่าไม่มีอยู่จริง ... อย่างน้อยก็ใน Mavericks
Pedro Luz

23
นอกจากนี้คุณยังสามารถติดตั้งใช้ฉาบชงbrew install putty : โปรดทราบว่าเราไม่ได้ใช้sudoที่นี่;)
GabLeRoux

2
คำตอบที่เป็นประโยชน์ !! ขอบคุณสำหรับสิ่งนั้น !! สำหรับผู้ที่ไม่ได้ติดตั้งพอร์ตสามารถทำตามลิงค์ต่อไปนี้เพื่อติดตั้ง git: codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj

3
ข้อผิดพลาดนี้หมายความว่าอย่างไรเมื่อฉันพยายามเรียกใช้คำสั่ง puttygen ป้อนวลีรหัสผ่านเพื่อโหลดคีย์: การยืนยันล้มเหลว: (random_active), ฟังก์ชั่น random_byte, ไฟล์ ./../sshrand.c, บรรทัด 313. ยกเลิก
แทร็

6
คุณต้องติดตั้งสูตรชงจาก HEAD ก่อนดังนั้นโปรดbrew uninstallใช้brew install putty --HEADก่อน สิ่งนี้ใช้ได้สำหรับฉัน
Dokie

31

แปลง PPK เป็น OpenSSh

OS X: ติดตั้ง Homebrew จากนั้นเรียกใช้

ชงฉาบติดตั้ง

วางกุญแจของคุณในไดเรกทอรีเช่นโฟลเดอร์บ้านของคุณ ตอนนี้แปลงคีย์ PPK เป็น SSH keypairs: การค้นหาแคช

วิธีสร้างไพรเวตคีย์:

cd ~

puttygen id_dsa.ppk -O private-openssh -o id_dsa

และเพื่อสร้างกุญแจสาธารณะ:

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

ย้ายคีย์เหล่านี้ไปที่ ~ / .ssh และตรวจสอบให้แน่ใจว่าการอนุญาตถูกตั้งค่าเป็นส่วนตัวสำหรับคีย์ส่วนตัวของคุณ:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

เชื่อมต่อกับเซิร์ฟเวอร์ ssh

ssh -i ~/.ssh/id_dsa username@servername

การส่งต่อพอร์ตเพื่อเชื่อมต่อเซิร์ฟเวอร์ระยะไกล mysql

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName

19

มีวิธีการทำเช่นนี้โดยไม่ต้องติดตั้งผงสำหรับอุดรูบน Mac ของคุณ คุณสามารถแปลงไฟล์ PPK ที่มีอยู่เป็นไฟล์ PEM โดยใช้ PuTTYgen บน Windows ได้อย่างง่ายดาย

เรียกใช้ PuTTYgen แล้วโหลดไฟล์คีย์ส่วนตัวที่มีอยู่โดยใช้ปุ่มโหลด จากเมนู "การแปลง" เลือก "ส่งออกคีย์ OpenSSH" และบันทึกไฟล์คีย์ส่วนตัวด้วยนามสกุลไฟล์. pem

คัดลอกไฟล์ PEM ไปยัง Mac ของคุณและตั้งให้เป็นแบบอ่านอย่างเดียวโดยผู้ใช้ของคุณ:

chmod 400 <private-key-filename>.pem

จากนั้นคุณควรจะสามารถใช้ ssh เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลของคุณ

ssh -i <private-key-filename>.pem username@hostname

9
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.ดังนั้นวิธีที่ดีที่สุดในการทำบน mac คือทำบน windows?!
Roee Gavirel

6
@sigi ที่จริงคำตอบของฉันมีไว้เพื่อประโยชน์อย่างแท้จริง เป้าหมายหลักของคำถามที่ฉันเข้าใจก็คือการเชื่อมต่อจาก Mac กับเซิร์ฟเวอร์ Linux โดยใช้ไฟล์. pkk ที่มีอยู่จากเครื่อง Windows เมื่อผู้ถามคำถามสามารถเข้าถึงเครื่อง Windows แล้วแปลงไฟล์. pkk เป็นไฟล์. pem ก่อนที่จะทำการคัดลอกไปยัง Mac นั้นเป็นวิธีการแก้ไขที่ถูกต้องเหมือนกับการคัดลอกไฟล์ไปยัง Mac และทำการแปลงที่นั่น ฉันแนะนำวิธีการนี้เนื่องจากบางคนอาจไม่ต้องการติดตั้งซอฟต์แวร์เพิ่มเติมใน Mac ของพวกเขาที่พวกเขาไม่ต้องการ
dasfrosty

3
คำตอบนี้มีประโยชน์มากด้วยเหตุผลที่ได้รับการปกป้องอย่างแน่นอน: คนที่มาจาก Windows ไปยัง Mac ด้วยไฟล์ ppk ที่มีอยู่มีแนวโน้มที่จะต้องการส่งออกจาก Windows มากกว่าที่จะติดตั้ง PuTTY บน Mac โดยไม่มีวัตถุประสงค์เฉพาะ นี่คือสิ่งที่ฉันเลือกที่จะทำ
trevorsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.