ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน 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
มีตัวเลือกบรรทัดคำสั่งแยกต่างหากสำหรับตัวเลือกเหล่านั้นดังนั้นจึงอาจแยกสตริงอย่างไร้เดียงสาหลังจากที่:
เป็นหมายเลขพอร์ต