Как я могу использовать 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/ который выглядит как хорошее описание этой и других связанных деталей, которые могут оказаться полезными.

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