Wget için nasıl bir kullanıcı adı ve şifre sağlayabilirim?


157

Bir sunucuya wget aracılığıyla bağlanmayı denedim:

wget http://<user>:<pass>@serveradress

Ancak wget cevap veriyor: geçersiz port

Sunucunun 80 numaralı bağlantı noktasında gelen trafiği kabul ettiğini biliyorum. Bu sorunu nasıl düzeltebilirim?


Kullanıcıyı güvenle kullanabileceğinizi sanmıyorum: pass @ name sözdizimi var; wgetbunun için ayrı komut satırı seçeneklerine sahiptir, bu yüzden muhtemelen :bir port numarasından sonra dizgeyi kesin olarak ayrıştırır .
geekosaur

Yanıtlar:


198

Wget <pass>@serveraddressport olarak yorumlanır . Bir kullanıcı adı ve şifre belirlemek için --userve --passworddüğmelerini kullanın :

wget --user user --password pass http://example.com/

Kimden man wget:

--user=user

--password=password

Hem FTP hem de HTTP dosya alımı için kullanıcı adı kullanıcı ve şifre şifresini belirtin . Bu parametreler kullanılarak geçersiz kılınabilir --ftp-userve --ftp-passwordFTP bağlantıları ve seçeneklerini --http-userve --http-passwordHTTP bağlantıları için seçenekler.


48
--ask-passwordNabil Kadimi'nin cevabında açıklanan seçeneği tercih ediyorum . Şifreyi görünmez bir şekilde başka bir satıra girmiş olmanız ve kabuk geçmişinize kaydetmekten kaçınmanız gerekir.
Kevin,

8
@Kevin Çizgiyi en az bir boşlukla ( Nabil tarafından gösterildiği gibi ) başlatarak kabuk tarihçesinde saklamaktan kaçınabilirsiniz . Parola / kaynak hassassa, şifrelenmemiş HTTP / FTP / ne olursa olsun bağlantı hakkında diskinizde saklamaktan daha çok endişelenmelisiniz.
Lekensteyn

Şifrelenmemiş parola sorununun bazı durumlarda kabuk geçmişinden daha önemli olduğunu kabul ediyorum, ancak yanıt güvenli protokoller için de yararlı. Ayrıca, bazen bilgisayarınıza erişimi olan casuslar hakkında çevrimiçi casuslardan daha çok endişelenmeniz gerekir (eriştiğiniz veya ilgilendiğiniz içerikle ilgilenmeyen). Aşağıdaki --ask-password cevabı etkileşimli kullanım için açıkça daha iyidir, burada --password cevabı otomasyon için daha kolaydır. Ixgr'in .wgetrc ve chmod hakkındaki yorumu da bazı durumlarda ilginçtir.
Youen

Kılavuzu anladığım kadarıyla, geçiş port olarak yorumlanmıyor. "Ayrıca kullanıcı adınızı ve şifrenizi bir URL içinde de kodlayabilirsiniz: http://user:password@host/path" "- manual
Tim

104

3 seçeneğiniz var ve burada içgüdü duygusundan başka belirli bir düzen yok:

1 / Şifre herkes tarafından görülebilir (komutu kullanarak history)

wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext

Parola ayrıca ps, top, htop ve benzeri olarak görünecektir.

2 / Şifre, omuzlarınızın ardında görünen herkes tarafından görülebilir

 wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext

Komuttan önceki boşluklara dikkat edin, onu geçmişinize kaydetmeyi önler.

Parola ayrıca ps, top, htop ve benzeri olarak görünecektir.

3 / Şifre, siz de dahil hiç kimseyle görünmez

wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Password for user `remote_user': [SECRET (not visible)]

6
Tarihte görünmese de, işlem devam ederken ps, top, htop veya benzeri bir komut kullanan herkes tarafından görülebilir.

4
@AbdennourTOUMI Sertifika denetimlerini, özellikle de istekle bir şifre gönderiyorsanız neden devre dışı bıraktınız? Bu kesinlikle genel olarak tavsiye edilmez. Günlük veya / proc şifresini "gizleme" söz konusu olduğunda, wget manpage ek bir seçenek sunar: "Şifrelerin görünmesini engellemek için, onları .wgetrc veya .netrc içinde saklayın ve bu dosyaları koruduğunuzdan emin olun. "chmod" kullanan diğer kullanıcılar.
lxgr

2
Eğer --ask-passwordmevcut değilse ya da, şifreyi her seferinde yazın istemiyorum wget -i link.txtyardımcı olabilir, nerede link.txtbulunurftp://remote_user:SECRET@ftp.example.com/file.ext
tehnicaorg

3

Ayrıca, kullanıcı adınızı ve şifrenizi de dosyaya kaydedebilir ~/.wgetrc ve bu dosyanın izinlerini yalnızca kullanıcının okuyabilmesi için değiştirebilirsiniz:

Dosya ~/.wgetrc:

user=john
password=SEcrEt

... ve sonra

chmod 600 ~/.wgetrc

Ancak, söz konusu kullanıcının roothala bu dosyaya bakıp şifreyi okuyabildiğini unutmayın.

Gönderen man :

Görülmesini şifreleri önlemek için, kullanmak --use-askpassveya bunları saklamak .wgetrcveya .netrcve diğer kullanıcılardan bu dosyaları korumak için emin olun "chmod". Parolalar gerçekten önemliyse, onları bu dosyalarda bırakmayın - dosyaları düzenleyin ve Wget indirmeye başladıktan sonra silin.


0

Kimlik doğrulama bilgilerini --user=USERNAMEve yoluyla sağlayabilirsiniz --password=PASSWORD; dayalı man wgetkomut kullanılarak geçersiz kılınabilir --http-user=USERNAMEve --http-password=PASSWORDiçin http bağlantısı ve --ftp-use=USERNAMEve --ftp-password=PASSWORDiçin ftp bağlantısı.


-1

Komut kullanılmış olabilir --http-userve --http-passwordyerine --userve --password. Durumunda ftptalebi seçeneklerdir --ftp-userve --ftp-password.


2
Bu tamamen doğru değildir: man wget--user ve geçerli seçenekler, password olduğunu gösterir geçersiz kılınabilir --http-kullanıcı veya --ftp-şifre ile
Charles Green
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.