lftp с ключом + парольной фразой? [закрытый]
Я использую lftp для отправки файлов на сервер sftp, но я не знаю, как подключиться к ключу и парольной фразе.
Итак, в sftp я могу сделать следующее:
sftp -i .ssh/id_rsa.mykey login@my.host.fr
Enter passphrase for key '.ssh/id_rsa.mykey': my passphrase here
Итак, как я могу использовать lftp с этим методом подключения ?
4 ответов
вы должны указать имя пользователя, и просто передать что-либо в качестве пароля, чтобы пропустить его просят.
lftp -u user,xxx sftp://...
ответ на основе Жан-Люка босса и виака, но немного более явный:
для подключения к серверу,lftp
использует по умолчанию ssh -a -x
. У него нет явной опции для изменения используемого ключевого файла, но, как вы заметили,ssh
делает, поэтому нам просто нужно установить lftp
для подключения с помощью ssh -a -x -i <keyfile>
прежде чем он подключается.
вы можете сделать это несколькими способами:
-
если вы используете интерактивную командную строку lftp, перед подключением выполните следующую команду:
set sftp:connect-program "ssh -a -x -i <keyfile>"
-
если вы указываете кучу команд на
lftp
используя-c
, просто добавьте эту команду set в начало последовательности команд:lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://user@example.com; mirror -eR files; ...'
если вы всегда хотите использовать один и тот же ключ, просто добавьте это
set ...
линия от первой пули до вашего~/.lftprc
file (или один из других параметров файла конфигурации, перечисленных вman lftp
).
просто добавить:
set sftp:connect-program "ssh -a -x -i yourprivatekeyfile"
на ~/.lftprc
, так как большинство настроек можно установить постоянно.
LFTP, похоже, не проходит или не использует файл идентификатора, указанный с помощью "ssl:key-file" с SSH, вы должны указать его в опции sftp:connect-program: "ssh-a-x-i yourprivatekeyfile"
Это должно работать.