Как войти в учетную запись удаленного пользователя с помощью пароля и выполнить набор команд?

Если у каждого файла нет дубликатов, вы можете сделать следующее:

# In file_1 and file_2
sort file_1 file_2 | uniq -d
# In file_1 or file_2 but not both
sort file_1 file_2 | uniq -u
# In file_1 and not file_2
sort file_1 file_2 | uniq -d | sort - file_1 | uniq -u
# In file_2 and not file_1
sort file_1 file_2 | uniq -d | sort - file_2 | uniq -u
0
11.05.2017, 18:20
2 ответа

Посмотрите на команду expect. Это система, созданная для взаимодействия с приложениями и имитации поведения пользователя.

(но, конечно, правильным решением является отказ от паролей в пользу ключей)

0
28.01.2020, 02:25

Включение ваших паролей в скрипты — очень плохая практика безопасности. Но если вы должны сделать это по причинам, вы можете использовать для этой цели такой инструмент, как sshpass.

Тем не менее, я настоятельно рекомендую вам изучить возможность использования аутентификации по паре ключей для подобных заданий.

Если вы находитесь на хосте a.example.comи у вас есть задания для выполнения на b.example.com, вы можете настроить себя на это с помощью следующих команд:

  • ssh-keygen-Будет создана пара ключей открытый/закрытый, которая будет использоваться для аутентификации
  • ssh-copy-id username@b.example.com-Это настроит ваш открытый ключ на удаленном хосте для использования. При выполнении этой команды вас попросят ввести пароль, но с этого момента ключи будут использоваться для аутентификации.

С этого момента вы можете использовать e. г. ssh username@b.example.com 'command'для запуска commandна удаленном хосте.

3
28.01.2020, 02:25

Теги

Похожие вопросы