Как ввести пароль через команду при выполнении входа по SSH? [закрыто]

Я хочу выполнить вход в систему SSH на машине, напрямую введя пароль через командную строку, как мы это делаем для выполнения команд sudo, как показано ниже:

echo mypass | sudo -S sh -c 'echo "blablabla" > /etc/1.txt'

Точки, которые нужно рассмотреть:

  1. Я не хочу использовать sshPass
  2. Я не хочу устанавливать SSH без пароля
-2
задан 14 January 2016 в 14:21

2 ответа

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

2
ответ дан 29 September 2019 в 14:11

Хранение mypass в сценарии (echo mypass | ssh ...) является Известной Действительно Плохой Идеей (безопасность). Это делает пароли доступными для любого, кто может прочитать сценарий или работать ps, в то время как в Вас входят удаленная система. Это - известная проблема и имеет хорошо протестированное решение: ssh-copy-id . От man page:

trusty (1) ssh-copy-id.1.gz
Provided by: openssh-client_6.6p1-2ubuntu1_i386 bug

NAME

     ssh-copy-id — use locally available keys to authorise logins on a remote
     machine

SYNOPSIS

     ssh-copy-id [-n] [-i [identity_file]] [-p port] [-o ssh_option]
                 [user@]hostname
     ssh-copy-id -h | -?

DESCRIPTION

     ssh-copy-id is a script that uses ssh(1) to log into a remote machine
     (presumably using a login password, so password authentication should be
     enabled, unless you've done some clever use of multiple identities).  It
     assembles a list of one or more fingerprints (as described below) and
     tries to log in with each key, to see if any of them are already
     installed (of course, if you are not using ssh-agent(1) this may result
     in you being repeatedly prompted for pass-phrases).  It then assembles a
     list of those that failed to log in, and using ssh, enables logins with
     those keys on the remote server.  By default it adds the keys by
     appending them to the remote user's ~/.ssh/authorized_keys (creating the
     file, and directory, if necessary).  

Ваше нежелание настроить логины SSH без пароля могло быть обращено при помощи альтернативного ключа SSH (в инициирующей системе) и только ssh-add луг, что ключ, когда Вы хотите войти в удаленную систему.

2
ответ дан 29 September 2019 в 14:11

Другие вопросы по тегам:

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