Використовуйте файл PPK в Mac Terminal для підключення до віддаленого з'єднання через SSH [закрито]


140

Я використовував Putty в Windows XP і використовував файл .ppk для підключення до моїх серверів Linux (декілька серверів).

На серверах у мене є така папка та файл ~ / .ssh / pooblasti_keys

Тепер я хочу використовувати Mac для підключення через термінал. Я встановив віддалені підключення до серверів вручну і хочу знати, як я можу налаштувати за допомогою файлу ppk або приватного / відкритого ключа всередині нього.

Зверніть увагу: я вже використовую приватний / відкритий ключ для входу в Windows, тому мені не потрібно створювати новий ключ за допомогою keygen, я просто хочу знати, як налаштувати зараз, коли у мене вже є ключі. (Іншими словами, у мене вже є списки авторизованих ключів на сервері та відкритий та приватний ключ).

Відповіді:


374

Ви можете sshбезпосередньо з терміналу на Mac, але вам потрібно використовувати .PEMключ, а не putty .PPKключ. Ви можете використовувати PuttyGen у Windows для конвертації .PEMв .PPK, але я не впевнений у зворотному напрямку.

Ви також можете конвертувати ключ за допомогою puttyMac через 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
порт судо ?? цього, звичайно, не існує ... принаймні, у Mavericks
Педро Луз

23
Ви також можете встановити шпаклівку за допомогою brew : 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
fastasleep

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-сервера за допомогою наявного .ppk-файлу з машини Windows. З огляду на те, що запитувач має доступ до машини Windows, після чого перетворення .ppk-файлу в .pem-файл перед копіюванням на Mac є таким же правильним рішенням, як спочатку скопіювати його на Mac і перетворити його туди. Я запропонував такий підхід, оскільки деякі люди можуть вважати за краще не встановлювати додаткове програмне забезпечення на свій Mac, яке їм інакше не потрібно.
dasfrosty

3
Ця відповідь дуже корисна з точно захищеної причини: Хтось, хто переходить із Windows на Mac із наявним файлом ppk, швидше за все, захоче експортувати з Windows, на відміну від установки PuTTY на Mac без конкретних цілей. Це саме те, що я вирішив зробити.
треворський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.