Оптимизация аутентификации ключей SSH на терминале Mac: методы автоматического добавления ключей

Аутентификация по ключу SSH обеспечивает безопасный и удобный способ доступа к удаленным серверам или службам. В этой статье мы рассмотрим различные методы автоматизации процесса добавления ключей SSH при открытии нового терминала на Mac. Мы предоставим примеры кода и пошаговые инструкции, которые помогут вам оптимизировать рабочий процесс управления ключами SSH.

Методы:

  1. Использование файла конфигурации SSH:

    • Откройте или создайте файл конфигурации SSH, расположенный по адресу ~/.ssh/config.
    • Добавьте в файл следующие строки:
      Host *
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa

      Эта конфигурация включает пересылку ключей и определяет файл идентификации по умолчанию.

    • Сохраните файл и выйдите.
    • Теперь всякий раз, когда вы открываете новый терминал, ваш SSH-ключ будет автоматически добавлен в SSH-агент.
  2. Использование команды ssh-addв.bash_profile:

    • Откройте или создайте файл .bash_profile, расположенный по адресу ~/.bash_profile.
    • Добавьте в файл следующую строку:
      ssh-add -K ~/.ssh/id_rsa

      Эта команда добавляет ваш ключ SSH к агенту SSH и использует связку ключей macOS для хранения парольной фразы.

    • Сохраните файл и выйдите.
    • После перезапуска терминала или открытия нового ваш SSH-ключ будет добавлен автоматически.
  3. Использование команды ssh-addв LaunchAgents:

    • LaunchAgents позволяет автоматически запускать сценарии при возникновении определенных событий на вашем Mac.
    • Создайте новый файл plist, например, com.example.ssh-add.plist, в каталоге ~/Library/LaunchAgents/.
    • Добавьте в файл plist следующее содержимое:
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>Label</key>
      <string>com.example.ssh-add</string>
      <key>ProgramArguments</key>
      <array>
        <string>/usr/bin/ssh-add</string>
        <string>-K</string>
        <string>~/.ssh/id_rsa</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
      </dict>
      </plist>
    • Сохраните файл и выйдите.
    • Выполните следующую команду, чтобы загрузить LaunchAgent:
      launchctl load ~/Library/LaunchAgents/com.example.ssh-add.plist
    • С этого момента каждый раз, когда вы открываете новый терминал, ваш SSH-ключ будет добавляться автоматически.
  4. Использование AppleScript в Automator:

    • Откройте Automator на своем Mac.
    • Создайте новый документ «Приложение».
    • В строке поиска введите «Запустить AppleScript» и перетащите соответствующее действие в область рабочего процесса.
    • Замените код AppleScript по умолчанию на следующий:
      do shell script "/usr/bin/ssh-add -K ~/.ssh/id_rsa"
    • Сохраните приложение под соответствующим именем, например «SSH Key Adder.app».
    • Каждый раз, когда вы открываете это приложение, оно автоматически добавляет ваш ключ SSH к агенту SSH.

Автоматизируя процесс добавления ключей SSH при открытии нового терминала на вашем Mac, вы можете повысить свою производительность и оптимизировать рабочий процесс управления ключами SSH. Мы обсудили несколько методов, включая настройку файла конфигурации SSH, использование команды ssh-addв .bash_profile, использование LaunchAgents и использование AppleScript в Automator. Выберите метод, который соответствует вашим предпочтениям, и наслаждайтесь удобством простой аутентификации по ключу SSH.