2012-07-20 14 views
9

Dosyaları bir sftp sunucusuna göndermek için lftp kullanıyorum, ancak anahtar ve parola ile bağlantı kurmuyorum.Anahtar + şifre ile lftp?

Yani sftp de, ben bunu yapabilirsiniz:

Yani
sftp -i .ssh/id_rsa.mykey [email protected] 
Enter passphrase for key '.ssh/id_rsa.mykey': my passphrase here 

, bunu nasıl bağlantı yöntemi ile lftp kullanarak yapabilirsiniz?

+0

lftp, mulitple iletişim kurallarını destekleyen bir istemcidir (ftp, ftps, sftp, ...), hangi protokolü kullanmaya çalışıyorsunuz? Örneğin ftp, ortak anahtar kimlik doğrulamasını desteklemiyor, bu nedenle usename + password ile takıldınız. – mata

+0

sftp kullanıyorum, bu yüzden anahtarımla bir parola kullanabilirim. Bunu deniyorum: ** lftp -e "set ssl: anahtar dosyası .ssh/id_rsa.mykey" sftp: //my.host.fr** ama işe yaramadı ... – Hakadel

+0

niçin don ' ssh tabanlı protokoller için daha iyi bir destek sunan 'scp' veya' sftp' komutunu kullanırsanız ... lftp ile çalışmış gibi görünen şey, ssh-add 'özel anahtarını çalışan bir ssh-agent'a eklemek için ', sonra lftp kullanır. – mata

cevap

15

Kullanıcı adını belirtmeniz ve istediğiniz şeyi atlamanız için parola olarak bir şey iletmeniz gerekir.

lftp -u user,xxx sftp://... 
+6

lftp -u kullanıcı, sftp: // hostname' da çalışır (virgülü not edin) –

+0

Herhangi bir nedenden ötürü, özel bir anahtar VE şifre göndermeniz gerekiyorsa bu işe yaramaz. Şifre gönderilmez veya doğru şekilde gönderilmez. –

2

lftp geçmek görünmüyor veya belirtilen kimlik dosyasını kullanmaz: sftp bunu belirtmek için SSH ile, sen gelmiş "SSL anahtar dosyası": bağlamak-Program seçeneği: "ssh -a -x -i yourprivatekeyfile "

Bu işe yaramalı.

5

sadece Apple Şifre lftp.conf için

 sftp:connect-program "ssh -a -x -i yourprivatekeyfile" 

, ayarların çoğu orada kalıcı ayarlanabilir olarak

11

bir cevap kapalı tabanlı Jean-Luc Boss adlı ve Wiak yıllardan, ama biraz daha açık:

Bir sunucuya bağlanmak için lftp, ssh komutunu varsayılan olarak ssh -a -x kullanır. Kullanılacak anahtar kelimeyi değiştirmek için açık bir seçeneği yoktur, ancak not ettiğiniz gibi, ssh bunu yapar, dolayısıyla bağlanmadan önce bağlanmak için lftp'u ayarlamanız gerekir.

birkaç şekilde yapabilirsiniz:

set sftp:connect-program "ssh -a -x -i <keyfile> 
  • iseniz: Eğer lftp interaktif komut satırını kullanarak ediyorsanız bağlanmadan önce, aşağıdaki komutu çalıştırın

    • lftp'u -c kullanarak bir grup komut belirterek, bu komutu komut dizininizin başlangıcına eklemeniz yeterlidir:

      lftp -c 'set sftp:connect-program "ssh -a -x -i <keyfile>"; connect sftp://[email protected]; mirror -eR files; ...' 
      
    • Her zaman aynı anahtarı kullanmak isteyecekseniz, ilk madde işaretçisinden set ... satırını ~/.lftprc dosyanıza ekleyin (veya man lftp'da listelenen diğer yapılandırma dosya seçeneklerinden biri).

  • İlgili konular