Відповіді:
Як правило, включення пароля в командний рядок вважається ризиком безпеки, оскільки він з’явиться всім, хто може запускати ps / top, і він може бути збережений в історії вашої оболонки.
Було б набагато кращою ідеєю встановити автентифікацію на основі ключів, якщо ви можете.
Крім того, я не вірю, що це стане можливим за допомогою sftp. Він призначений для використання для безпечних передач. Якщо вам дійсно довелося зробити щось подібне, і у вас немає іншого вибору, то, ймовірно, потрібно дивитися на автоматизацію з очікуванням .
Як уже згадували інші, пароль командного рядка повинен бути останньою інстанцією.
Однак якщо нічого іншого неможливо; можна піти на ssh pass
sshpass -p <password> sftp user@host
brew search sshpass
- "Ми не додамо sshpass, тому що для початківців користувачів SSH це надто просто руйнує безпеку SSH."
Просто використовуйте perl, ruby або python для написання сценарію того, що ви намагаєтеся зробити. У разі рубіну це просто (взято з документів net-sftp API):
require 'net/sftp'
Net::SFTP.start('host', 'username', :password => 'password') do |sftp|
# upload a file or directory to the remote host
sftp.upload!("/path/to/local", "/path/to/remote")
end
Для отримання додаткової інформації http://net-ssh.rubyforge.org/sftp/v2/api/index.html
Як зазначено в інших відповідях, використовуйте аутентифікацію відкритих ключів. Є чудова, хоч і трохи застаріла, серія IBM developerWorks, яка повинна пояснити все, що ви хочете знати про неї, а також деякі корисні додаткові інструменти, такі як брелок.
Для шукачів, яким не байдуже, що пароль можна побачити в командному рядку команди:
sftp userid:password@remoteHost
полягає в тому, як включити пароль до sftp
команди connect.
ОНОВЛЕННЯ: це виявилося невірно ... дивіться коментарі
Я підозрюю, що відповідей стільки, скільки клієнтів FTP. SFTP-сервер не повинен приймати інформацію про автентифікацію, поки не буде встановлено шифрування, щоб захистити користувача та пароль.
Я вірю, що клієнт FileZilla дозволить передавати командний рядок користувача та пароля. Дивіться документацію тут . Враховуючи репутацію проекту FileZilla, я би сподівався, що він буде надійно працювати.