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