Я задавал вопрос раньше в Вот. Мой вопрос заключался в том, что я пытался передать свой пароль в scp через трубопровод
echo mypassword | scp tim@xxx.xxx.xxx.xxx:project/* ~/project/
Однако он по-прежнему просит меня ввести пароль вручную. Как мне указать мой пароль для scp в командах?
Я все еще не понимаю один из ответов. что такое входной поток по телетайпу, например? Каковы общие способы входного потока? Как узнать, какой тип входного потока является вводом stdin для команды? Например, ssh / scp.
В основном SSH (и связанные с ним инструменты, такие как SCP и SFTP) проверяют, откуда, похоже, поступает его ввод, и если он не от того, что может быть фактическим пользователем, он не будет принимать пароли с помощью этого метода и вместо этого будет запрашивать пароль. или парольную фразу от пользователя напрямую.
По соображениям безопасности нецелесообразно (и, IIRC, фактически невозможно) указывать свой пароль SSH в командной строке, как вы хотите.
Если вам нужно войти в систему без пароля, вам необходимо настроить аутентификацию на основе ключа, что, к счастью, несложно. Есть много хороших руководств, быстрый поиск подтянулся http://novosial.org/openssh/publickey-auth/ который выглядит как хорошее описание этой и других связанных деталей, которые могут быть вам полезны.