Как сохранить пароль при использовании SCP (копия)?

11

Я сталкиваюсь с проблемой, когда вытаскиваю файл с другого компьютера на свой компьютер с помощью SCP. Файл успешно передан, но каждый раз запрашивает пароль. Я хочу выполнить эту SCPкоманду как cronjob, Как я могу сохранить пароль для этой автоматизации?

scp user@abc.com:/usr/etc/Output/*.txt /usr/abc/  
user@abc.com's password:
Нишу
источник

Ответы:

13

Ты можешь сделать:

  1. ( если это еще не сделано ) сгенерируйте набор открытых и закрытых ключей ssh ​​на вашем компьютере для вашего пользователя с помощью:

    $ ssh-keygen

    Ответьте на вопросы, чтобы сгенерировать набор ключей.

  2. скопируйте ваш открытый ключ на удаленный хост:

    $ ssh-copy-id remote-user@remote-host

    Это позволит войти в систему от вашего username@hostдо remote-user@remote-hostбез приглашения с ч / б аутентификации.

fduff
источник
что вы имеете в виду на шаге 2? Вы хотите скопировать созданный файл на
первом
@ MohsenEl-Tahawy, ssh-copy-idпозаботится о копировании зашифрованных учетных данных на удаленный хост, таким образом он не будет запрашивать ч / б в следующий раз, когда этот пользователь sshна него.
Fduff
5

Вы можете использовать это: sshpass -p 'your_password' scp user@abc.com:/usr/etc/Output/*.txt /usr/abc/ но помните, что вы храните пароль в виде открытого текста.

Кшиштоф Стасяк
источник
0

Следуйте ответу fduff, но когда вы запустите keygen, нажмите Enter, когда он запросит пароль. Это создаст ключ, который не требует ввода пароля при его использовании.

Дэвид Недроу
источник
-3

Можно использовать следующую команду:

scp -r user@abc.com:/usr/etc/Output/*.txt /usr/abc/

А также настройте аутентификацию на основе ключа ssh, чтобы не спрашивать пароль во время scp.

Muralibabud
источник
Я использую scp -r user@abc.com: / usr / etc / Output / *. Txt / usr / abc /, но он также запрашивает пароль @Muralibabud
Nishat
@Nishat использовать ssh-keygen и ssh-copy-id user@abc.comкак fduff опубликовано выше
Muralibabud