Команда sshpass в Linux с примерами

Команда sshpass в Linux с примерами

Рубрики:

Linux, Утилиты Linux

Метки:

, ,

Утилита sshpass — инструмент командной строки Linux, позволяющий выполнять аутентификацию с паролем в неинтерактивном режиме при подключении к удаленным компьютерам. Благодаря своему функционалу, эта команда полезна для написания сценариев и автоматизации задач, требующих доступа к другим операционным системам через защищенный канал.

В этой статье мы расскажем, как использовать sshpass в ОС Linux.

Содержание:

  1. Установка sshpass в ОС Linux
  2. Передача пароля непосредственно команде sshpass
  3. Передача пароля с помощью переменной SSHPASS
  4. Использование файла с паролем для аутентификации в удаленной ОС
  5. Отправка файлов с помощью scp и rsync
  6. Написание скрипта Bash для подключения к удаленному хосту с помощью sshpass
  7. Выводы

Установка sshpass в ОС Linux

Инструмент sshpass доступен для установки из стандартных репозиториев в большинстве современных дистрибутивов Linux. Поэтому для инсталляции утилиты выполните одну из следующих команд.

Для Debian / Ubuntu Linux:

 

install

Для RHEL / CentOS Linux:

 

Для Fedora Linux:

 

Читайте также: 27 команд DNF (форк команды Yum) для управления пакетами RPM в Linux.

Чтобы получить информацию об утилите, выполните команду sshpass с опцией -h:

 

sshpass help

Передача пароля непосредственно команде sshpass

При подключении к удаленному компьютеру с помощью sshpass Вы можете напрямую передать пароль этой команде. Для этого используется опция -p.

Важно: написание пароля в командной строке или в скриптах может угрожать безопасности, так как он будет отображаться в окне терминала или в истории команд.

Тем не менее, синтаксис команды sshpass с опцией -p имеет следующий вид:

 

pass promtply

На скриншоте выше видно, что подключение к удаленной ОС в неинтерактивном режиме прошло успешно.

Читайте также: Как настроить SSH-доступ по ключу в Linux.

Передача пароля с помощью переменной SSHPASS

Для более безопасного использования утилиты Вы можете сохранить пароль в переменной SSHPASS. А затем при подключении к удаленному ПК указать sshpass использовать значение переменной. Для этого следует применить опцию -e. Например:

 

login with environmental var

Использование файла с паролем для авторизации в удаленной ОС

Также утилита sshpass может считывать пароли из файлов. К примеру, у Вас есть возможность записать пароль в какой-либо текстовый документ, и потом передать файл в качестве аргумента sshpass. Для этого также потребуется использовать опцию -f:

 

login with file

Отправка файлов с помощью scp и rsync

В операционной системе Linux есть несколько утилит, которые позволяют пересылать файл с одного компьютера на другой с помощью протокола SSH. Одними из них являются scp и rsync.

Допустим, Вам нужно отправить файл /home/user/text.txt в каталог /home/user1/Desktop на удаленном хосте с помощью scp. Чтобы это сделать, выполните в терминале:

 

transfer file by scp

Читайте также: 10 примеров команды scp для передачи файлов по SSH в Linux.

Чтобы убедиться, что отправка прошла успешно, просмотрите содержимое папки /home/user1/Desktop на удаленном ПК:

 

transfer file by scp result

По такому же принципу можно пересылать файлы на удаленный хост с использованием утилиты rsync. К примеру:

 

transfer file by rsync

Вы также можете проверить, что отправка прошла успешно, выполнив команду ls -l на удаленном ПК:

 

transfer file by rsync result

Написание скрипта Bash для подключения к удаленному хосту с помощью sshpass

Чтобы каждый раз не вводить команду в терминале для аутентификации на удаленном ПК, Вы можете написать скрипт Bash, который позволит автоматизировать эту задачу. Например:

 

sshpass bash script

Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.

Важно: не забудьте установить для скриптового файла права доступа на исполнение:

Выводы

Теперь Вы знаете, как использовать утилиту sshpass для подключения к удаленным компьютерам в ОС Linux. Не забывайте соблюдать меры информационной безопасности во время использования этой команды.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

, ,

Больше похожих постов

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню