SSH

SSH

Есть ли способ передать пароль с помощью .ssh/config? Я пытаюсь настроить способ входа на сервер под определенным пользователем, а затем автоматически переключаться на root при подключении (нужно ввести пароль).

На данный момент у меня есть:

Host server
 HostName hostname.server.com
 User not-root
 Port 1234
 RemoteCommand su
  • Мне нужно использовать эти шаги (пользователь -> su)
  • Мне нужно использовать этот ключ (с парольной фразой)

решение1

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

SSH

Для аутентификации SSH проще всего создать пару ключей, в которой закрытый ключ не защищен паролем.

Если вам нужна парольная фраза для закрытого ключа SSH, добавление этого ключа/парольной фразы в ssh-agent (или в связку ключей Mac OSX) — это одноразовое действие, после которого вам больше не придется вводить парольную фразу.

Если это не вариант, используйтеsshpassв ваших скриптах/командах используйте пароль/парольную фразу из командной строки

На сервере

Опять же, самое простое/традиционное решение — не вводить пароль.

Ваши возможности зависят от уровня контроля, которым вы располагаете.

  • настройте политику sudo NOPASSWD (в идеале только для соответствующих команд), которая позволит вам выполнить sudo some-command --with argsили sudo -iдля интерактивного сеанса входа в систему без ввода парольной фразы.

  • настроить учетную запись root для прямого удаленного входа по SSH (не лучшее решение, но если вы не разрешаете аутентификацию по паролю, то только аутентификацию на основе ключей...)

  • в зависимости от настроек просто добавьте свою учетную запись в группу «sudo», «wheel» или «admin», и вы получите полные права администратора.

Если вы действительно хотите отправить пароль, expectесть ли утилита для автоматизации этого процесса?

Связанный контент