Копирование и запуск локального скрипта на удаленной машине через ssh без ввода пароля (коротко)

Создаём ключ на локальной машине:
ssh-keygen -t rsa

Ключ будет создан в директории /home/<имя_пользователя>/.ssh/id_rsa, там же будет лежать публичный ключ /home/<имя_пользователя>/.ssh/id_rsa.pub который необходимо поместить на удалённый сервер при помощи команды:

ssh-copy-id -i /home/<имя_пользователя>/.ssh/id_rsa.pub имя_пользователя_удалённого_сервера@ip_адрес_сервера

Параметр -i позволяет задать путь к публичному ключу.

Выполнить в терминале:

ssh-add

Для проверки выполним:
ssh <имя_пользователя_удалённого_сервера>@ip_адрес_сервера uptime
Команда выведет время работы с системы.
Если команда возвращает данные, и не спрашивает пароль, то всё настроено верно. Теперь аутентификация пользователя происходит по публичному ключу, и пароль не будет спрашиваться при выполнении команд: ssh, sftp, scp.

Скрипт подключаем следующим образом:

ssh имя_пользователя_удалённого_сервера@ip_адрес_сервера -p номер_порта (если отличается от 22) 'bash -s' < путь_до_скрипта.sh