นี่คือคำสั่ง gpgwrap ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
gpgwrap - เครื่องห่อขนาดเล็กสำหรับ gpg
เรื่องย่อ
gpgwrap -V
gpgwrap -P [-v] [-i] [-a] [-p ]
gpgwrap -F [-v] [-i] [-a] [-c] [-p ] [-โอ - [ -
gpgwrap [-v] [-i] [-a] [-หน้า ] [-โอ - gpg [ตัวเลือก gpg]
DESCRIPTION
GNU Privacy Guard (gpg) ให้ตัวเลือก --passphrase-fd สิ่งนี้สอนให้ gpg ไปยัง
อ่านข้อความรหัสผ่านจาก file descriptor ที่กำหนด โดยปกติแล้วตัวอธิบายไฟล์นี้จะเปิดขึ้น
ก่อน gpg ถูกดำเนินการผ่าน ผู้บริหารระดับสูง(3). นั่นแหละค่ะ gpgwrap กำลังทำ. NS
ข้อความรหัสผ่านอาจถูกส่งต่อไปยัง gpgwrap ในรูปแบบ 4:
* เป็นเส้นทางของไฟล์ โดยที่ข้อความรหัสผ่านถูกเก็บไว้เป็นข้อความธรรมดาในไฟล์
* มันถูกไพพ์จากโปรแกรมอื่นไปยัง stdin ของ gpgwrap
* ผ่าน GPGWRAP_PASSPHRASE ตัวแปรสภาพแวดล้อม
* gpgwrap ร้องขอมัน
โดยไม่มีการป้องกันจุดแรกบ่อนทำลายโครงสร้างพื้นฐานที่ปลอดภัย gpg จัดเตรียมให้. แต่
ในสภาพแวดล้อมแบบแบตช์ล้วนๆ นี่อาจเป็นสิ่งที่คุณต้องการ มิฉะนั้นถ้าคุณเป็น
ยินดีที่จะป้อนข้อความรหัสผ่านหนึ่งครั้งและไม่ต้องการให้จัดเก็บเป็นข้อความธรรมดาในไฟล์
ตัวแทน gpg คือสิ่งที่คุณกำลังมองหา การคัดค้านด้านความปลอดภัยอีกประการหนึ่งอาจเป็นการใช้
ตัวแปรสภาพแวดล้อม GPGWRAP_PASSPHRASE ซึ่งมีข้อความรหัสผ่านและสามารถอ่านได้โดย
กระบวนการอื่นๆ ของผู้ใช้รายเดียวกัน
OPTIONS
-V, - รุ่น
พิมพ์เวอร์ชันและออก
-P, --พิมพ์
รับข้อความรหัสผ่านและพิมพ์ไปที่ stdout
-F, --ไฟล์
อ่าน gpg คำสั่งจากไฟล์ที่กำหนด ถ้า คือ - มันถูกอ่านจาก stdin
คาดว่าจะมีคำสั่งหนึ่งคำสั่งต่อบรรทัด บรรทัดที่กำหนดได้รับการจัดการใน
วิธีต่อไปนี้:
* ในตอนแรกข้อความรหัสผ่านจะถูกทำลาย ซึ่งหมายความว่าอักขระที่ผิดปกติ
จะถูกแทนที่ด้วยเครื่องหมายทับขวาของตัวเลขฐานแปด
* ประการที่สอง ข้อความรหัสผ่านที่สับสนจะถูกเก็บไว้ในตัวแปรสภาพแวดล้อม
GPGWRAP_PASSPHRASE.
* "exec gpgwrap -- " ถูกนำหน้าแต่ละบรรทัด ก่อนส่งผลลัพธ์เป็น
อาร์กิวเมนต์เพื่อ "sh -c"
-h, --ช่วยด้วย
พิมพ์ข้อมูลการใช้งาน
-v, --เวอร์โบส
เพิ่มระดับความฟุ่มเฟือย
-i, --โต้ตอบ
ให้ใส่ข้อความรหัสผ่านเสมอ (ละเว้น -p และตัวแปรสภาพแวดล้อม)
-a, --ถาม-สองครั้ง
ถามสองครั้งหากต้องการให้ใส่ข้อความรหัสผ่าน
-c, --ตรวจสอบรหัสทางออก
ขณะอ่านคำสั่ง gpg จากไฟล์ gpgwrap ละเว้นต่อค่าเริ่มต้นรหัสออก
ของกระบวนการลูกของมัน ตัวเลือกนี้ทำให้สามารถตรวจสอบรหัสทางออกได้ หากเป็นเด็ก
สิ้นสุดลงอย่างผิดปกติหรือด้วยรหัสทางออกไม่เท่ากับ0 gpgwrap หยุดทันทีและ
กลับมาพร้อมกับรหัสทางออกนี้ ดูเพิ่มเติมที่ส่วน ข้อบกพร่อง.
-p , --passphrase-ไฟล์
อ่านข้อความรหัสผ่านจาก . ถ้า คือ - มันถูกอ่านจาก stdin ข้อความรหัสผ่าน
คาดว่าจะเป็นข้อความธรรมดา หากตัวเลือกนี้ไม่ได้รับข้อความรหัสผ่านจะ
นำมาจากตัวแปรสภาพแวดล้อม GPGWRAP_PASSPHRASE หรือจะเป็น
ให้ควบคุม tty หากไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม
-o , --ตัวเลือก-ชื่อ
ระบุชื่อของตัวเลือก "--passphrase-fd" ที่โปรแกรมเข้าใจเป็น
ดำเนินการ สิ่งนี้มีประโยชน์หากคุณต้องการใช้ gpgwrap ร่วมกับอื่น ๆ
โปรแกรม than gpg.
ข้อ จำกัด
ข้อความรหัสผ่านที่ระบุมีข้อจำกัดหลายประการขึ้นอยู่กับวิธีการส่ง
ไปยัง gpgwrap:
* มีการจำกัดขนาด: ข้อความรหัสผ่านไม่ควรใหญ่กว่าบางส่วน
กิโลไบต์ (ตรวจสอบซอร์สโค้ดสำหรับขีด จำกัด ที่แน่นอน)
* gpgwrap อนุญาตให้คุณใช้อักขระทั้งหมดในข้อความรหัสผ่านได้ แม้กระทั่ง \000 แต่สิ่งนี้ใช้ได้
ไม่ได้หมายความว่า gpg จะยอมรับมัน gpg อาจปฏิเสธข้อความรหัสผ่านของคุณหรืออ่านได้เท่านั้น
ส่วนหนึ่งของมัน หากมีอักขระเช่น \012 (ใน C หรือที่เรียกว่า \n)
* หากคุณตั้งค่าตัวแปรสภาพแวดล้อม GPGWRAP_PASSPHRASE คุณควรใช้เวลาพิเศษ
ดูแลด้วยอักขระแบ็กสแลชเพราะ gpgwrap ใช้แบ็กสแลชเพื่อหนีเลขฐานแปด
ตัวเลข (ดูตัวเลือก -F) ดังนั้นให้เขียนแบ็กสแลชเองเป็นเลขฐานแปด: \134
ตัวอย่าง
1.
gpgwrap -p /path/to/a/secret/file \
gpg -c -z 0 --แบทช์ --no-tty \
--cipher-algo ปักเป้า < infile > outfile
อ่านข้อความรหัสผ่านจาก /path/to/a/secret/file และดำเนินการ gpg ทำแบบสมมาตร
การเข้ารหัส infile และเขียนไปยัง outfile
2.
gpgwrap -i -a \
gpg -c -z 0 --แบทช์ --no-tty \
--cipher-algo ปักเป้า < infile > outfile
เหมือนข้างบนยกเว้นว่า gpgwrap พร้อมท์สองครั้งสำหรับข้อความรหัสผ่าน
3.
gpgwrap -F -i - <
gpg --decrypt --batch --no-tty < "$HOME/infile1" > "$HOME/outfile1"
gpg --decrypt --batch --no-tty < "$HOME/infile2" > "$HOME/outfile2"
gpg --decrypt --batch --no-tty < "$HOME/infile3" > "$HOME/outfile3"
gpg --decrypt --batch --no-tty < "$HOME/infile4" > "$HOME/outfile4"
นามสกุล EOL
gpgwrap แจ้งข้อความรหัสผ่านและดำเนินการสี่อินสแตนซ์ของ gpg เพื่อถอดรหัส
ไฟล์ที่กำหนด
4.
GPGWRAP_PASSPHRASE="mysecretpassphrase"
ส่งออก GPGWRAP_PASSPHRASE
gpgwrap -F -c -v /tmp/cmdfile1 - /tmp/cmdfile2 <
gpg --decrypt --batch --no-tty < "$HOME/infile1" > "$HOME/outfile1"
gpg --decrypt --batch --no-tty < "$HOME/infile2" > "$HOME/outfile2"
gpg --decrypt --batch --no-tty < "$HOME/infile3" > "$HOME/outfile3"
gpg --decrypt --batch --no-tty < "$HOME/infile4" > "$HOME/outfile4"
นามสกุล EOL
เหมือนข้างบนยกเว้นว่า gpgwrap รับข้อความรหัสผ่านผ่านสภาพแวดล้อม
ตัวแปร อ่านคำสั่งเพิ่มเติมจากไฟล์อื่นและตรวจสอบรหัสออกของ
ทุกๆ gpg ตัวอย่าง. นี่หมายความว่าถ้าใครคนหนึ่ง gpg คำสั่งมีรหัสทางออกที่ไม่ใช่ศูนย์ no
คำสั่งเพิ่มเติมจะถูกดำเนินการ นอกจากนี้ gpgwrap ให้ผลผลิตที่ละเอียด
5.
GPGWRAP_PASSPHRASE="$(gpgwrap -P -i -a)"
ส่งออก GPGWRAP_PASSPHRASE
พบ . -ความลึกสูงสุด 1 -ประเภท f |
ในขณะที่อ่านไฟล์; ทำ
FILE2="$FILE.bz2.gpg"
bzip2 -c "$FILE" |
gpgwrap gpg -c -z 0 --แบทช์ --no-tty \
--cipher-algo ปักเป้า > "$FILE2" &&
แตะ -r "$FILE" "$FILE2" &&
rm -f "$FILE"
ทำ
อ่านด้วยข้อความรหัสผ่าน บีบอัดไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบัน เข้ารหัสไฟล์เหล่านั้นและ
เก็บวันที่จากไฟล์ต้นฉบับ
6.
พบ . -maxdepth 1 -type f -name '*.bz2.gpg' |
awk '{
printf("gpg --decrypt --batch --no-tty --quiet ");
printf("--no-secmem-warning < %s\n", $0);
}' |
gpgwrap -F -i -c - |
bzip2 -d -c - |
grep -i 'ข้อมูล'
ถอดรหัสไฟล์ *.bz2.gpg ทั้งหมดในไดเร็กทอรีปัจจุบัน แตกไฟล์แล้วพิมพ์
ข้อมูลที่เกิดขึ้นทั้งหมด หากคุณไปป์ผลลัพธ์ไปที่ น้อยลง คุณมีปัญหา
เพราะ gpgwrap และ น้อยลง พยายามอ่านจาก TTY ในเวลาเดียวกัน ในกรณีเช่นนี้
ควรใช้ตัวแปรสภาพแวดล้อมเพื่อให้ข้อความรหัสผ่าน (ตัวอย่าง
ด้านบนแสดงวิธีการดำเนินการนี้)
7.
GPGWRAP_PASSPHRASE="$(gpgwrap -P -i -a)"
ส่งออก GPGWRAP_PASSPHRASE
gpgwrap -พี |
SSH -C -x -P -l โฮสต์ผู้ใช้ "
GPGWRAP_PASSPHRASE=\"\$(แมว)\"
...
"
ให้ใส่ข้อความรหัสผ่านสองครั้งแล้วเขียนไปที่ GPGWRAP_PASSPHRASE สิ่งแวดล้อม
ตัวแปร
8.
เสียงสะท้อน -n "ข้อความรหัสผ่าน: "
สติ -เสียงสะท้อน
อ่าน GPGWRAP_PASSPHRASE
เสียงสะท้อน
สติ เสียงสะท้อน
ส่งออก GPGWRAP_PASSPHRASE
อีกวิธีหนึ่งในการแสดงข้อความรหัสผ่านด้วยตนเอง จำเป็นต้องใช้ร่วมกัน
กับ . เวอร์ชันเก่า gpgwrapเพราะพวกเขาไม่ได้สนับสนุน -P โปรดทราบว่าด้วย
วิธีนี้ไม่มีการแปลงอัตโนมัติเป็นแบ็กสแลชที่ใช้ Escape เลขฐานแปด
แทน
9.
เสียงสะท้อน "mysecretpassphrase" |
gpg --แบทช์ --no-tty --วลีรหัสผ่าน fd 0 \
--output outfile --ถอดรหัส infile
วิธีราคาถูกในการให้ข้อความรหัสผ่านกับ gpg ไม่มี gpgwrap. โปรดทราบว่าคุณไม่สามารถใช้
stdin เพื่อส่งไฟล์ไปที่ gpgเนื่องจากมีการใช้ stdin สำหรับข้อความรหัสผ่านแล้ว
10.
gpg --แบทช์ --no-tty \
--passphrase-fd 3 3 < /path/to/a/secret/file \
< infile > outfile
นี่เป็นวิธีการขั้นสูงในการให้ข้อความรหัสผ่าน ซึ่งเทียบเท่ากับ Option
-p ของ gpgwrap. ตัวอย่างนี้อย่างน้อยควรทำงานกับทุบตี
11.
gpg --แบทช์ --no-tty --วลีรหัสผ่าน fd 3 \
3< <(echo "mysecretpassphrase") \
< infile > outfile
เช่นเดียวกับด้านบน แต่ข้อความรหัสผ่านจะได้รับโดยตรง ตัวอย่างนี้อย่างน้อยควร
ทำงานกับทุบตี
ใช้ gpgwrap ออนไลน์โดยใช้บริการ onworks.net