Odpowiedź opiera się Jean-Luc Boss i Wiak-tych, ale nieco bardziej wyraźne:
Aby połączyć się z serwerem, lftp
używa polecenia ssh
, domyślnie ssh -a -x
. Nie ma jawnej opcji zmiany pliku klucza, ale jak zauważyłeś, ssh
ma, więc musimy ustawić lftp
, aby połączyć się przy użyciu ssh -a -x -i <keyfile>
, zanim się połączy.
Można to zrobić na kilka sposobów:
Jeśli używasz interaktywny wiersz polecenia lftp za uruchom następującą komendę przed podłączeniem:
set sftp:connect-program "ssh -a -x -i <keyfile>
Jeśli jesteś określając kilka poleceń do lftp
przy użyciu -c
, po prostu dodaj tę komendę do początku sekwencji poleceń:
lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://[email protected]; mirror -eR files; ...'
Jeśli zawsze chcesz użyć tego samego klucza, po prostu dodaj tę set ...
linię z pierwszego punktu do pliku ~/.lftprc
(lub jedną z innych opcji pliku konfiguracji wymienionych w man lftp
).
lftp jest klientem, który obsługuje protokoły mulitple (ftp, ftps, sftp, ...), więc jaki protokół próbujesz użyć? ftp na przykład nie obsługuje uwierzytelniania kluczem publicznym, więc utknąłeś w usename + password. – mata
Używam sftp, więc mogę użyć hasła z moim kluczem. Próbuję tego: ** lftp -e "set ssl: plik-klucza .ssh/id_rsa.mykey" sftp: //my.host.fr** ale to nie zadziałało ... – Hakadel
dlaczego nie " t używasz polecenia 'scp' lub' sftp', które oferują lepsze wsparcie dla protokołów opartych na ssh ... co wydaje się działać z lftp używa 'ssh-add' do dodania klucza prywatnego do działającego' ssh-agent ', które następnie używa lftp. – mata