ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน wget:
wget http://<user>:<pass>@serveradress
แต่ wget ตอบกลับ: พอร์ตไม่ถูกต้อง
ฉันรู้ว่าเซิร์ฟเวอร์ยอมรับการรับส่งข้อมูลขาเข้าที่พอร์ต 80 ฉันจะแก้ไขปัญหานี้ได้อย่างไร
ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน wget:
wget http://<user>:<pass>@serveradress
แต่ wget ตอบกลับ: พอร์ตไม่ถูกต้อง
ฉันรู้ว่าเซิร์ฟเวอร์ยอมรับการรับส่งข้อมูลขาเข้าที่พอร์ต 80 ฉันจะแก้ไขปัญหานี้ได้อย่างไร
คำตอบ:
Wget ตีความ<pass>@serveraddressเป็นพอร์ต ในการระบุชื่อผู้ใช้และรหัสผ่านให้ใช้--userและ--passwordสวิตช์:
wget --user user --password pass http://example.com/
จากman wget:
--user=user
--password=passwordระบุชื่อผู้ใช้ชื่อผู้ใช้และรหัสผ่านสำหรับการดึงไฟล์ FTP และ HTTP พารามิเตอร์เหล่านี้สามารถแทนที่ได้โดยใช้
--ftp-userและ--ftp-passwordตัวเลือกสำหรับการเชื่อมต่อ FTP และ--http-userและ--http-passwordตัวเลือกสำหรับการเชื่อมต่อ HTTP
--ask-passwordตัวเลือกที่อธิบายโดยคำตอบของ Nabil Kadimi คุณได้ใส่รหัสผ่านสุดลูกหูลูกตาและหลีกเลี่ยงการเก็บไว้ในประวัติเชลล์ของคุณ
คุณมี 3 ตัวเลือกและที่นี่ไม่มีคำสั่งซื้อใดนอกจากความรู้สึกกล้า:
history)wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
รหัสผ่านจะปรากฏใน ps, top, htop และที่คล้ายกัน
wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
สังเกตุช่องว่างสีขาวหน้าคำสั่งป้องกันการบันทึกลงในประวัติของคุณ
รหัสผ่านจะปรากฏใน ps, top, htop และที่คล้ายกัน
wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Password for user `remote_user': [SECRET (not visible)]
--ask-passwordไม่สามารถใช้ได้หรือคุณไม่ต้องการพิมพ์รหัสผ่านทุกครั้งwget -i link.txtสามารถช่วยได้ที่link.txtมีftp://remote_user:SECRET@ftp.example.com/file.ext
คุณสามารถจัดเก็บชื่อผู้ใช้และรหัสผ่านในไฟล์~/.wgetrc
และเปลี่ยนการอนุญาตของไฟล์นั้นเพื่อให้ผู้ใช้ของคุณเท่านั้นที่สามารถอ่านได้:
ไฟล์~/.wgetrc:
user=john
password=SEcrEt
... แล้ว
chmod 600 ~/.wgetrc
อย่างไรก็ตามโปรดทราบว่าผู้ใช้rootนั้นยังคงสามารถมองเข้าไปในไฟล์นั้นและอ่านรหัสผ่าน
จากmanpage :
เพื่อป้องกันไม่ให้รหัสผ่านจากการถูกเห็นใช้
--use-askpassหรือเก็บไว้ใน.wgetrcหรือ.netrcและให้แน่ใจว่าจะปกป้องไฟล์เหล่านั้นจากผู้ใช้อื่น ๆ"chmod"ที่มี หากรหัสผ่านมีความสำคัญจริงๆอย่าปล่อยให้ไฟล์นั้นอยู่ในไฟล์เหล่านั้น --- แก้ไขไฟล์แล้วลบออกหลังจาก Wget เริ่มทำการดาวน์โหลด
คุณสามารถให้ข้อมูลรับรองการตรวจสอบสิทธิ์ผ่าน--user=USERNAMEและ--password=PASSWORD; ขึ้นอยู่กับman wgetคำสั่งสามารถแทนที่การใช้--http-user=USERNAMEและ--http-password=PASSWORDสำหรับhttpการเชื่อมต่อและ--ftp-use=USERNAMEและ--ftp-password=PASSWORDสำหรับFTPการเชื่อมต่อ
คำสั่งจะได้ใช้--http-userและ--http-passwordแทนและ--user --passwordในกรณีที่มีftpการร้องขอตัวเลือกที่มีและ--ftp-user--ftp-password
man wgetระบุว่า - ผู้ใช้และ - รหัสผ่านเป็นตัวเลือกที่ถูกต้องซึ่งสามารถแทนที่ได้โดย --http-user หรือ --ftp-password
wgetมีตัวเลือกบรรทัดคำสั่งแยกต่างหากสำหรับตัวเลือกเหล่านั้นดังนั้นจึงอาจแยกสตริงอย่างไร้เดียงสาหลังจากที่:เป็นหมายเลขพอร์ต