Linux FTP kullanıcı adı ve şifresi ile giriş yapın


23

FTP ile tek bir satırda oturum açma komutu nedir?

ftp username:password@my.domain.com

diyor:

Kullanıcı adı için şifre gerekli: şifre


2
Öğrenmek man ftpiçin kullanın , ya da belki ftp --help. Unutmayın bu ftpfarklı araçlar anlamına gelebilir ....
Basile Starynkevitch

2
ftp ftp://username:password@my.domain.com

1
Ayrıca, belirli bir işlemin komut satırının sistemdeki diğer tüm kullanıcılar tarafından görülebileceğini unutmayın. Bu nedenle, şifrenizi komut satırının bir parçası olarak vermek ciddi bir güvenlik sorunu olabilir.

Yanıtlar:


8
ftp -nv yourftpserver.com

o zaman user your_username yauser anonymous


Benim ftp ftp://username:password@my.domain.comiçin işe yaramadığı için bu cevabı gönderdim .

Usage: { ftp | pftp } [-46pinegvtd] [hostname]
   -4: use IPv4 addresses only
   -6: use IPv6, nothing else
   -p: enable passive mode (default for pftp)
   -i: turn off prompting during mget
   -n: inhibit auto-login
   -e: disable readline support, if present
   -g: disable filename globbing
   -v: verbose mode
   -t: enable packet tracing [nonfunctional]
   -d: enable debugging

2
Etkileşimli kullanım gerektirdiğinden bu kullanışlı değildir. Ben de sadece 'ftp user @ yourserver' yazabilirim.
smaudet

3
bu soruya cevap vermiyor
phil294

7
ftp ftp://username:password@my.domain.com

ftp --helpYine de kolayca kullanabilirsiniz .


25
Gösterilen komut şunu üretir: "Ad veya hizmet bilinmiyor". ftp -help, ftp :, // veya kullanıcı adı: password @ ile hiçbir şey üretmez.
CW Holeman II

4
Hangi Linux sürümünü kullanıyorsunuz? Yukarıdaki sözdizimini denediğimde "Ad veya hizmet bilinmiyor" da alıyorum. CentOS 6 kullanıyorum
Tim Ludwinski

7
Ben de bilinmemektedir Adı veya Hizmeti alıyorum
Kevin Johnson

6
benim için çalışmıyor, ubuntu uzak sunucuda
fyi

6
Ayrıca ftp -help yararsız buldum ve önerdiğiniz biçim ubuntu 16 üzerinde benim için çalışmıyor.
Henry

3

En iyi seçenek, güvenlik amacıyla gpg gibi bir şeyle birlikte bir .netrc kullanmaktır .

Bunun için daha sonra yükleyebileceğim genel amaçlı bir komut dosyası yazdım, ancak aşağıdakilere kadar kaynar:

gpg -c .netrc

veya isteğe bağlı olarak komut satırında bir parola ve bir çıkış hedefi ile:

gpg --passphrase <secretphrase> -o .netrc.gpg -c .netrc

Burada gösterilmiyor, ancak bunu daha da güvenli hale getirmek için ek olarak gpg ile asimetrik anahtarlar da kullanabilirsiniz.

Sonra giriş yapmaya hazır olduğunuzda

gpg .netrc.gpg
# or
gpg --passphrase <secretphrase> -o .netrc .netrc.gpg
ftp yourservername
rm .netrc

Bir örnek .netrc:

machine google.com
login <username>
password <secretpassword>

Aslında yerel bir karma ve bu dosyaların orijinal kopyasını .netrc dosyalarını kullandığımdan farklı bir bilgisayarda saklıyorum ve .netrc karma ve çalıştırdığım komut dosyası doğrulamak, ancak bu yukarıda ve OP'nin asıl sorunun ötesinde.


Bu en iyi yanıttır, ancak geliştirilebilir: (1) tek bir komut satırındaki kullanıcı kimlik bilgileri kabuk geçmiş => güvenlik sorunlarında saklanır. (2) .netrc, gpg => güvenlik sorunları olmadan da çalışır. Ayrıca .netrc dosyasının doğru izinlere sahip olup olmadığını da kontrol edin: chmod 600 .netrc(3) şifre çözme, ftp çağrısı ve şifresi çözülmüş .netrc'nin kaldırılması etrafında bir kabuk işlevi. Harika cevabınız için teşekkürler!
matematik

Peki FTP şifresi yerine kullanıcı GPG şifresini yazmak zorunda mı? Ayrıca, bir saldırganın kişisel dosyalarınıza yazma erişimi varsa, bunları kullandığınız anda kimlik bilgilerinizi ifşa etmenin tonlarca yolu vardır. Bu senaryoda GPG yalnızca salt okunur erişimi olan bir saldırgana karşı gerçekten yardımcı olur. Hangisi gerçekten nadir, sanırım?
Konrad


0

Deneyebilirsin

my_ftp() {
  ftp -i -n <<EOF
    open $HOST
    user "$USER" "$PASS"
    $@
EOF
}

daha sonra arayabileceğiniz my_ftp $'ls subfolder\nanothercommand'

Bu çözüm etkileşimli değil ama anlayabileceğim en iyisi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.