Лучший способ сделать это было бы создать пару ключей на клиенте, и добавьте ключ к целевому пользователю ~/.ssh/authorized_keys
.
Чтобы создать пару ключей, запустите ssh-keygen
и, когда он запрашивает пароль, просто нажмите «вернуться», чтобы указать «без пароля». Затем либо запустите ssh-copy-id [email protected]$server_name
, либо вручную создайте на сервере ~/.ssh/authorized_keys
и скопируйте содержимое ~/.ssh/id_rsa.pub
от клиента в него (ssh-copy-id
не доступен на всех компьютерах, поэтому на некоторых вам придется делать это вручную).
Теперь вы должны иметь возможность запускать ssh
или scp
без пароля, так как вместо этого вы должны использовать свой ключ. Если это не сработает, убедитесь, что права на ваш каталог и содержимое ~/.ssh/
верны на обеих машинах; каталог должен быть 0700
(drwx------
), а файлы должны быть 600
(-rw-------
). Также проверьте, что аутентификация ключа включена как на клиенте, так и на сервере.
делает этот час elp: http://stackoverflow.com/questions/5386482/how-to-run-the-sftp-command-with-a-password-from-bash-script?rq = 1 – anubhava