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"

Это должно работать.