Могу ли я использовать SSH для Mac с помощью командной строки Windows, не используя другой инструмент, такой как замазка?
У меня есть система CI на моей Windows, чтобы построить мой код сервера.
В настоящее время я также хочу ежедневно автоматически строить свой проект IOS, но он может быть встроен только в систему Mac.
Поэтому я пишу сценарий оболочки, который может создать мой проект ios на моем Mac, и я хочу удаленно выполнить мой сценарий из Windows.
Как я могу написать командный файл в Windows для удаленного доступа к моему Mac и выполнить там мой сценарий? Поэтому я могу заставить свою систему CI ежедневно выполнять этот пакетный файл автоматически.
Или... у кого-нибудь есть другие лучшие способы сделать это?
Спасибо!
2 ответа
Получить "Plink" со страницы загрузки PuTTY. Поместите команды для запуска сценария оболочки Mac в файл (например, "maccommands.txt") на вашем компьютере с Windows. Затем создайте командный файл, который содержит:
plink -l macusername -m maccommands.txt your.mac.ip.address
Если вы не хотите каждый раз запрашивать пароль, вы можете создать публично-приватную пару ключей с пустой парольной фразой, используя PuTTYgen. Сохраните закрытый ключ как "pc_rsa.ppk" (или как хотите, чтобы он назывался). Скопируйте открытый ключ из окна PuTTYgen в буфер обмена, вставьте его в текстовый редактор и сохраните его (например, как "pc_rsa_pub.txt").
Затем перенесите файл с открытым ключом на Mac и добавьте его содержимое в конец ~/.ssh/authorized_keys, например, с помощью cat pc_rsa_pub.txt >> ~/.ssh/authorized_keys
Затем добавьте -i pc_rsa.ppk
на команду plink выше, чтобы использовать ваш закрытый ключ.
(Это, очевидно, имеет значение для безопасности, поэтому защитите файл закрытого ключа. Вы также можете использовать -pw password
но это имеет еще большее значение для безопасности, поскольку пароль будет четко виден в вашем пакетном файле.)
Другое решение - использовать openssh. Преимущество не в том, чтобы использовать альтернативный формат для ваших ключей.
Вы можете установить Git для Windows. Во время установки выберите третий вариант использования инструментов "unix" из командной строки.
У меня есть небольшая утилита-оболочка, которая загружает агент в память в github (#selfplug)