Вы должны настроить аутентификацию с использованием пары открытых / закрытых ключей, как вы уже упоминали, что вы сгенерировали с помощью ssh-keygen
. Сгенерируйте его без пароля на закрытый ключ, если вам нужно использовать его в автоматизированных сценариях. Теперь просто скопируйте открытый ключ, используя ssh-copy-id name@host
чтобы правильно настроить его на удаленной стороне (авторизовать открытый ключ).
Я предлагаю вам следовать учебник , как этот.
Если ssh
работает, то scp
работает аналогично.
После правильной настройки вы сможете сделать это без взаимодействия:
scp myscript.sh name@remotehost:~/
ssh name@remotehost ~/myscript.sh
Чтобы избежать необходимости вводить пароль или парольную фразу, есть пара вариантов
- используйте агент аутентификации для хранения пароля / парольной фразы для закрытого ключа
- не используйте парольную фразу для защиты закрытого ключа
Первый подходит для интерактивного использования, последний менее безопасен. Вы, вероятно, должны установить новый идентификатор пользователя для этого с минимальными правами на дальнем конце (например, chrooted)