SSH üzerinden uzak bağlantıya bağlanmak için Mac Terminalindeki PPK dosyasını kullanın [kapalı]


140

Windows XP'de Putty kullanıyorum ve Linux sunucularıma (birkaç sunucu) bağlanmak için .ppk dosyasını kullandım.

Sunucularda aşağıdaki klasör ve dosya ~ / .ssh / yetkili_anahtarlarım var

Şimdi terminal üzerinden bağlanmak için bir Mac kullanmak istiyorum. Sunuculara uzak bağlantıları elle kurdum ve ppk dosyasını veya içindeki özel / ortak anahtarı kullanarak nasıl ayar yapabileceğimi bilmek istiyorum.

Lütfen dikkat: Zaten Windows'dan özel / genel anahtar girişini kullanıyorum, bu yüzden keygen kullanarak yeni bir anahtar oluşturmam gerekmiyor, sadece anahtarlara sahip olduğumu şimdi nasıl ayarlayacağımı bilmek istiyorum. (Başka bir deyişle, sunucuda yetkili anahtar listelerine, genel ve özel anahtarlara zaten sahibim).

Yanıtlar:


374

sshDoğrudan Mac'teki Terminal'den yapabilirsiniz , ancak .PEManahtar yerine bir anahtar kullanmanız gerekir putty .PPK. Sen den dönüştürmek için Windows üzerinde PuTTYgen kullanabilirsiniz .PEMiçin .PPKetrafta olsa başka bir yol hakkında emin değilim.

puttyMac için tuşunu portveya aracılığıyla da dönüştürebilirsiniz brew:

sudo port install putty

veya

brew install putty

Bu da yüklenecektir puttygen. puttygenBir .PEMdosyanın çıktısını almak için :

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

Anahtarı aldıktan sonra bir terminal penceresi açın ve:

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

Özel anahtarın sıkı güvenlik ayarları olmalıdır, aksi takdirde SSH şikayet eder. Anahtarı yalnızca kullanıcının okuyabildiğinden emin olun.

chmod go-rw privatekey.pem

1
sudo bağlantı noktası ?? bu kesinlikle yok ... en azından Mavericks'te
Pedro Luz

23
Brew : kullanarak macun da kurabilirsiniz brew install putty. sudoBurada kullanmadığımızı unutmayın ;)
GabLeRoux

2
Yararlı cevap !! Bunun için teşekkürler !! Bağlantı noktası yüklü olmayanlar için, git'i
Viraj

3
Puttygen komutunu çalıştırmayı denediğimde bu hata ne anlama geliyor? Anahtarı yüklemek için parola girin: Onaylama başarısız oldu: (random_active), işlev random_byte, dosya ./../sshrand.c, satır 313. Tuzağı iptal et: 6
fastasleep

6
Demleme formülünü HEAD'den kurmanız gerekir, bu yüzden lütfen brew uninstallönce kullanın brew install putty --HEAD. Bu benim için çalıştı.
Dokie

31

PPK'yi OpenSSh'ye dönüştürme

OS X: Homebrew'u kurun, ardından çalıştırın

demlemek yüklemek macun

Anahtarlarınızı, örneğin ana klasörünüz gibi bir dizine yerleştirin. Şimdi PPK anahtarlarını SSH anahtar çiftlerine dönüştürün: önbellek araması

Özel anahtarı oluşturmak için:

cd ~

puttygen id_dsa.ppk -O özel-openssh -o id_dsa

ve ortak anahtarı oluşturmak için:

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

Bu anahtarları ~ / .ssh konumuna taşıyın ve özel anahtarınız için izinlerin özel olarak ayarlandığından emin olun:

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

ssh sunucusu ile bağlan

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

MySQL uzak sunucuyu bağlamak için Port Yönlendirme

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

19

Mac'inize macun takmadan bunu yapmanın bir yolu var. Windows'taki PuTTYgen'i kullanarak mevcut PPK dosyanızı kolayca bir PEM dosyasına dönüştürebilirsiniz.

PuTTYgen'i başlatın ve Yükle düğmesini kullanarak mevcut özel anahtar dosyasını yükleyin. "Dönüşümler" menüsünden "OpenSSH anahtarını dışa aktar" ı seçin ve özel anahtar dosyasını .pem dosya uzantısıyla kaydedin.

PEM dosyasını Mac'inize kopyalayın ve kullanıcı tarafından salt okunur olarak ayarlayın:

chmod 400 <private-key-filename>.pem

Sonra uzak sunucunuza bağlanmak için ssh kullanabilmeniz gerekir

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.Yani mac üzerinde yapmanın en iyi yolu windows üzerinde yapmaktır ?!
Roee Gavirel

6
Aslında sigi cevabım gerçekten yardımcı olmak için tasarlandı. Anladığım kadarıyla sorunun birincil amacı, bir Windows makinesinden mevcut bir .ppk dosyasını kullanarak bir Mac'ten bir Linux sunucusuna bağlanmaktır. Asker, bir Windows makinesine erişebiliyorsa, Mac'e kopyalamadan önce .ppk dosyasını bir .pem dosyasına dönüştürmek, ilk önce Mac'e kopyalamak ve orada dönüştürmek kadar geçerli bir çözümdür. Bu yaklaşımı önerdim çünkü bazı insanlar Mac'lerine başka türlü ihtiyaç duymadıkları ek yazılımlar yüklememeyi tercih edebilirler.
dasfrosty

3
Bu yanıt tam olarak savunulan nedenden ötürü çok yararlıdır: Varolan bir ppk dosyasıyla Windows'tan Mac'e gelen birinin, belirli bir amaç için Mac'e PuTTY'yi yüklemek yerine Windows'tan dışa aktarmak istemesi daha olasıdır. Ben de tam olarak bunu yapmayı seçtim.
trevorsky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.