Используйте файл PPK в Mac Terminal для подключения к удаленному соединению через SSH

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

На серверах у меня есть следующая папка и файл ~/.ssh/authorized_keys

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

Обратите внимание: я уже использую закрытый/открытый ключ для входа в Windows, поэтому мне не нужно создавать новый ключ с помощью keygen, я просто хочу знать, как настроить теперь, когда у меня есть ключи. (Другими словами, у меня уже есть авторизованные списки ключей на сервере, а также открытый и закрытый ключ).

Ответ 1

Вы можете ssh непосредственно из терминала на 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 [email protected]

Закрытый ключ должен иметь жесткие настройки безопасности, иначе SSH жалуется. Убедитесь, что только пользователь может прочитать ключ.

chmod go-rw privatekey.pem

Ответ 2

Преобразование PPK в OpenSSh

OS X: установите Homebrew, затем запустите

brew установить шпатлевку

Поместите свои ключи в какой-либо каталог, например. вашей домашней папке. Теперь преобразуем ключи PPK в ключевые пары SSH: поиск кеша

Чтобы сгенерировать закрытый ключ:

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 [email protected]

Перенаправление портов для подключения удаленного сервера mysql

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 [email protected]

Ответ 3

Существует способ сделать это без установки шпатлевки на вашем Mac. Вы можете легко преобразовать ваш существующий файл PPK в файл PEM с помощью PuTTYgen в Windows.

Запустите PuTTYgen, а затем загрузите существующий файл закрытого ключа с помощью кнопки "Загрузить". В меню "Конверсии" выберите "Экспорт ключа OpenSSH" и сохраните файл закрытого ключа с расширением .pem.

Скопируйте файл PEM на свой Mac и настройте его только для чтения вашим пользователем:

chmod 400 <private-key-filename>.pem

Затем вы сможете использовать ssh для подключения к удаленному серверу

ssh -i <private-key-filename>.pem [email protected]