Как автоматически логиниться по протоколу SSH

Admin Automator, Linux, Mac OS

Если есть необходимость частого коннекта к серверу через SSH, то для этой задачи удобно сделать быструю ссылку. Инструкция для Automator на Mac OS

Обычно программы для входа на сервер с помощью SSH не позволяют хранить пароли.

Стоит ли говорить, что пароль не сохраняется в программах SSH не просто так. Это сделано для безопасности. Поэтому, если вы создаёте файлы такого формата, то должны понимать, что доступ к ним должен быть защищен от посторонних.

Более безопасный способ, это внести SSH ключ в список разрешенных на сервере.

Если вы осознаете, что пароль будет хранится в открытом доступе (в принципе очень многие и вовсе хранят пароль в открытых заметках), то чтобы каждый раз не вбивать логин и пароль, можно создать специальный «ярлык». Он будет ссылаться на программу при запуске которой будет запущен Терминал и в него введены нужные нам данные.

Файл создадим функцией Аутоматора (AppleScript), но запустим не саму программу Automator, а только её скриптовую оболочку. В SpotLight Search вбиваем название программы: Script Editor.

Запустится программа с предложением открыть или создать файл. Нажимаем «New Document», на русском будет, вероятно, «Создать документ»:

Откроется окно нового скрипта, куда нужно будет ввести свой код:

А код вводим такой (заменяя ип адрес и пароль):

tell application "Terminal"
    activate
    do script "ssh root@111.111.111.111"
    delay 1
    tell application "System Events"
        keystroke "пароль_для_входа"
        keystroke return
    end tell
end tell

Затем сохраняем это в качестве программы (Application).

Теперь запустив этот файл запустится соединение с сервером.

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Комментарии к статье “Как автоматически логиниться по протоколу SSH” (4)

  • Дмитрий
    21.01.2018 в 21:05

    Около двух часов искал способ автоматически перезагружать десять серверов vps с одной кнопки. Нашел по запросу в яндексе — automator скрипты ssh root. На основе Вашего кода сделал удобный скрипт. Спасибо. Для информации — краткий перечень запросов по которым искал информацию:

    • automator выполнить команду в терминале
    • терминал выполнение команд из файла
    • терминал загрузка команд из файла
    • automator скрипты ssh root
    • терминал mas os импортировать команду
    • терминал mas os экспортировать команду
    • терминал mas os сохранить команды
    • applescript ввод текста
  • Anatoly
    02.08.2021 в 12:24

    Спасибо, работает.
    Но открывает два окна терминала, первое обычное (как при запуске приложения терминал), а второе уже с сиансом подключения. Можно добавить «in window 1» и тогда всё в одном окне будет делаться.
    tell application «Terminal»
    activate
    do script «ssh anatoly@192.168.1.40» in window 1
    delay 1
    tell application «System Events»
    keystroke «voPec451»
    keystroke return
    end tell
    end tell

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Как автоматически логиниться по протоколу SSH"