คำถามติดแท็ก key-authentication

คำถามเกี่ยวกับการพิสูจน์ตัวตนคีย์ประเภทของการพิสูจน์ตัวตนที่อาจใช้เป็นทางเลือกในการพิสูจน์ตัวตนด้วยรหัสผ่าน แทนที่จะต้องใช้รหัสผ่านของผู้ใช้คุณสามารถยืนยันตัวตนของลูกค้าได้โดยใช้อัลกอริธึมการเข้ารหัสแบบอสมมาตรด้วยคีย์สาธารณะและคีย์ส่วนตัว

5
SCP จากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งโดยไม่มีรหัสผ่านแจ้ง
วิธีที่ดีที่สุดในการทำอะไรscpจากช่องหนึ่งไปยังอีกช่องหนึ่งโดยไม่ต้องใส่รหัสผ่าน? มีเซิร์ฟเวอร์สองเครื่อง: เซิร์ฟเวอร์ A (10.152.2.10): /home/oracle/export/files.txt เซิร์ฟเวอร์ B (10.152.2.11): /home/oracle/import/ หากฉันต้องการถ่ายโอนไฟล์โดยใช้scpจากเซิร์ฟเวอร์ A ไปยังเซิร์ฟเวอร์ B โดยไม่ได้รับแจ้งให้ป้อนรหัสผ่าน [เรียกใช้จากเซิร์ฟเวอร์ A /home/oracle/export/] scp files.txt oracle@10.152.2.11:/home/oracle/import นี่จะขอให้ฉันใส่รหัสผ่านเมื่อป้อนคำสั่ง ฉันเข้าใจว่าต้องมีการสร้าง keygen และคัดลอกไปยังเซิร์ฟเวอร์ A ดังนั้น [at server A]: ssh-keygen -t rsa สิ่งนี้ทำให้ฉันเก็บไฟล์สองไฟล์ไว้ใน/home/oracle/.ssh: id_rsa id_rsa.pub 1. ฉันควรจะคัดลอกสองไฟล์ ( id_rsa, id_rsa.pub) ไปยังเซิร์ฟเวอร์ B /home/oracle/.sshหรือไม่ ขณะทำการค้นหาด้วย google ในบทความนี้บางบทความได้กล่าวถึงการผนวก / ต่อข้อมูลนี้เข้ากับ authorized_keys …

2
วิธีที่สอดคล้องและปลอดภัยกับบัญชีที่ไม่มีรหัสผ่านด้วย SSH
ฉันต้องยอมรับว่าฉันชอบเซิร์ฟเวอร์ที่ไม่มีรหัสผ่านในบางกรณี เซิร์ฟเวอร์ทั่วไปมีความเสี่ยงต่อทุกคนที่มีสิทธิ์เข้าถึงแบบฟิสิคัล ดังนั้นในบางกรณีก็เป็นจริงเพื่อล็อคร่างกายและตั้งแต่นั้นมาไว้วางใจใด ๆการเข้าถึงทางกายภาพ แนวคิดพื้นฐาน ในทางทฤษฎีแล้วเมื่อฉันไปถึงเซิร์ฟเวอร์นั้นฉันควรจะสามารถบริหารงานโดยไม่ต้องใช้รหัสผ่านเพียงแค่พิมพ์rootเป็นชื่อล็อกอินและฉันไม่ควรขอรหัสผ่าน เช่นเดียวกันอาจนำไปใช้กับบัญชีผู้ใช้ แต่ไม่มีใครสามารถเข้าถึงได้จริง ดังนั้นจึงไม่จำเป็นต้องใช้รหัสผ่านระบบสำหรับการเข้าถึงภายใน (เป็นครั้งคราว) เมื่อเข้าถึงเซิร์ฟเวอร์จากระยะไกลไม่ว่าจะเป็นการบริหารระบบหรือสำหรับบัญชีผู้ใช้ฉันคาดว่าจะใช้คีย์ส่วนตัว SSH มันง่ายมากในการตั้งค่าคีย์ SSH สำหรับบัญชีที่เพิ่งสร้างขึ้นและไม่จำเป็นต้องใช้รหัสผ่านระบบสำหรับการเข้าถึงระยะไกล (ปกติ) # user=... # # useradd -m "$user" # sudo -i -u "$user" $ keyurl=... $ $ mkdir -p .ssh $ curl -o .ssh/authorized_keys "$keyurl" บทสรุปคือในทางทฤษฎีเราจะไม่ต้องใช้รหัสผ่านระบบใด ๆสำหรับกรณีการใช้งานเช่นนั้น ดังนั้นคำถามคือเราจะกำหนดค่าระบบและบัญชีผู้ใช้อย่างไรเพื่อให้เกิดขึ้นอย่างสอดคล้องและปลอดภัย รายละเอียดการเข้าถึงท้องถิ่น เราจะมั่นใจได้อย่างไรว่าบัญชีรูทสามารถเข้าถึงได้แบบโลคัลโดยไม่มีรหัสผ่าน? ฉันไม่คิดว่าเราสามารถใช้งานได้passwd -dเพราะจะทำให้การเข้าถึงรูทมากเกินไปและผู้ใช้ที่ไม่มีสิทธิสามารถเปลี่ยนเป็นรูทได้ฟรีซึ่งเป็นสิ่งที่ผิด เราไม่สามารถใช้passwd -lเนื่องจากป้องกันไม่ให้เราเข้าสู่ระบบ โปรดทราบว่าการเข้าถึงเฉพาะที่เกี่ยวกับการเข้าถึงโดยใช้คีย์บอร์ดท้องถิ่น …

4
วิธีทำให้การเข้าสู่ระบบโดยใช้รหัสผ่านน้อยลง
ฉันสร้างรหัสและคัดลอกมันไปยังเป้าหมายของฉัน: ssh-keygen ssh-copy-id username@hostname ฉันออกจากตำแหน่งของคีย์เป็นค่าเริ่มต้นและไม่ได้ตั้งข้อความรหัสผ่านใด ๆ หลังจากนั้นไม่นานฉันก็สามารถssh username@hostnameขอรหัสผ่านได้โดยไม่ต้องได้รับรหัสผ่านจากนั้นมันก็หยุดทำงานด้วยเหตุผลบางอย่าง

2
จำกัด การสำรองข้อมูลโดยไม่ใช้รหัสผ่านด้วย SFTP
ฉันต้องการสำรองข้อมูลเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ของฉันโดยใช้ Duplicity: duplicity /etc sftp://backup@my.dynamic.ip.address//home/backup ก่อนที่จะสามารถทำได้ฉันต้องอนุญาตการเข้าถึงรหัสผ่านโดยทำสิ่งต่อไปนี้: $ ssh-keygen $ ssh-copy-id backup@my.dynamic.ip.address $ ssh backup@my.dynamic.ip.address คำถามของฉันคือฉันจะ จำกัด คำสั่งเฉพาะการถ่ายโอน SFTP นี้ในรหัสสาธารณะที่สร้างขึ้นได้อย่างไร command="restrict to sftp",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA… และเนื่องจากฉันอยู่ในที่อยู่ IP แบบไดนามิกฉันจะเอาชนะปัญหา "โฮสต์ที่ขาดหายไป" ปัญหาในแต่ละครั้งที่มีการเปลี่ยนแปลง IP ของฉันได้อย่างไร


2
ส่งรหัสผ่านผ่าน stdin ใน `ssh-copy-id`
ssh-copy-idฉันต้องการที่จะทำงานโดยอัตโนมัติการใช้งานตัวตนบางนึกคิดใช้ ฉันพยายามให้รหัสผ่าน stdin ซึ่งเป็นไปได้sshโดยใช้การ-Sตั้งค่าสถานะ ฉันทราบว่าฉันสามารถส่งตัวเลือกเพิ่มเติมเพื่อsshใช้การ-oตั้งค่าสถานะในssh-copy-idคำสั่ง แต่ไม่มีตัวอย่างการใช้งานของการตั้งค่าสถานะนี้ในหน้า man ดังนั้นฉันพยายามส่งรหัสผ่าน SSH สำหรับssh-copy-idผ่าน stdin โดยใช้: $# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S" แต่สิ่งที่ฉันได้รับคือ: /bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s แก้ไข: ฉันพยายามให้รหัสผ่าน stdin ซึ่งเป็นไปได้ sshโดยใช้การ-Sตั้งค่าสถานะ คำสั่งนี้ผิด ฉันอ่านธงนี้จากsudoมนุษย์จริงๆ

1
ssh เข้าสู่บัญชีที่ไม่มีโฮมไดเร็กตอรี่
ตามคำถามก่อนหน้านี้ของฉันฉันได้ตัดสินใจสร้างบัญชีผู้ใช้ท้องถิ่นดังต่อไปนี้ adduser --system --no-create-home USERNAME sshตอนนี้ผมอยากให้ผู้ใช้ในท้องถิ่นเพื่อให้สามารถเข้าถึงเครื่องใช้ ตามความเข้าใจของฉันsshทำงานได้ดังนี้ สมมติว่าฉันมี 2 เครื่อง (พูดว่าอัลฟ่าและเบต้า ) จากเครื่องอัลฟ่า :ssh user@beta รหัสสาธารณะของอัลฟาจะแสดงภายใต้~/.ssh/authorized_keysในเครื่องเบต้า รหัสส่วนตัวของอัลฟ่าจะปรากฏภายใต้/~/.sshในเครื่องอัลฟา ตอนนี้ฉันได้วางแผนที่จะไม่ใช้บ้านสำหรับผู้ใช้ ดังนั้นสมมติว่าฉันadduserเข้าสู่เครื่องเบต้าโดยไม่ต้องมีผู้ใช้ที่บ้านฉันจะยังสามารถเปลี่ยนสถานะเป็นเบต้าจากอัลฟ่าได้หรือไม่

1
รับรหัส SSH ส่วนตัวฉันจะกู้คืนกุญแจสาธารณะของฉันได้อย่างไร
ฉันทำid_rsa.pubแฟ้มหาย ฉันยังมีid_rsaไฟล์ของฉัน ฉันจะกู้คืนกุญแจสาธารณะจากกุญแจส่วนตัวได้อย่างไร (คำถามนี้เกิดขึ้นหลังจากssh-copy-idถูกรายงานว่า "ข้อผิดพลาด: ไม่พบตัวตน" ในขณะที่ssh-keygenรายงาน "/root/.ssh/id_rsa มีอยู่แล้ว" ls ~/.sshชี้ให้เห็นปัญหาว่ามีid_rsaแต่ไม่ใช่id_rsa.pubฉันพบวิธีแก้ปัญหา แต่ถูกฝังอยู่ที่ด้านล่าง ของการโพสต์แบบยาวบนฟอรัมการสนับสนุนของ Ubuntu)

3
ฉันจะล็อคบัญชีของตัวเองจากการเข้าสู่ระบบ ssh จากระยะไกลด้วยรหัสผ่านได้อย่างไร
ฉันไม่ต้องการปิดใช้งานการเข้าสู่ระบบระยะไกลด้วยรหัสผ่านทั้งหมด แต่ฉันต้องการทำให้บัญชีของฉันสามารถเข้าถึงได้ด้วยการตรวจสอบสิทธิ์คู่คีย์เท่านั้น (มีผู้ใช้รายอื่นที่ต้องการใช้รหัสผ่านเพื่อเข้าสู่ระบบ) เป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงสิ่งนี้ตามความต้องการของผู้ใช้โดยไม่ต้องเปลี่ยนการตั้งค่าระบบ? และเพื่อให้ชัดเจนบัญชีของฉันมีการเข้าถึง sudo ดังนั้นฉันไม่ต้องการล็อครหัสผ่าน

1
มีเหตุผลทางเทคนิคหรือไม่ว่าทำไม ssh-agent ขาดคุณสมบัติการหยุดพักชั่วคราว / ไม่มีการใช้งานเหมือน sudo
มีการพูดคุยสั้น ๆ เกี่ยวกับssh-agent -tคุณลักษณะที่มีอยู่ที่ [1] และมีโพสต์ที่ไกลที่สุดเท่าที่ปี 2001 เรื่องเดเบียน - เดเวล [2] ที่ต้องการคุณสมบัติการหมดเวลาที่ไม่ได้ใช้งาน มีการสนทนาที่คล้ายกันที่นี่ใน SE [3] สำหรับการประกวด ฉันต้องสงสัยว่าส่วนที่เหลือของโลกนี้ปกป้องคีย์ ssh ได้หรือไม่ฉันขาดอะไรบางอย่างที่เห็นได้ชัดเพื่อให้เป็นจุดเจ็บปวดสำหรับฉันและเห็นได้ชัดว่าไม่มีใครอื่น โดยเฉพาะฉันกำลังคิดถึงการโต้ตอบ ssh แบบสคริปต์เช่นกับ ansible ดูเหมือนว่าวันนี้ตัวเลือกของคุณคือ: ตั้งค่าอายุการใช้งานของกุญแจของคุณในตัวแทนเป็นระยะเวลานานอย่างน่าเป็นห่วงเช่น 1 ชม. หรืออะไรก็ตามที่สคริปต์ของคุณอาจใช้งานได้นานที่สุด (ฉันสงสัยว่าหลายคนอนุญาตให้หมดเวลา sudo ของพวกเขาอีกครั้งเพื่อยืดเวลานั้น!) - แต่seahorse/ gnome-keyring-daemonแทบจะไม่สนับสนุนสิ่งนี้มาก [4] ดูแลสคริปต์ที่ใช้งานยาวนานของคุณและให้ป้อนรหัสผ่านของคุณใหม่ทุก ๆ 5/10/15 นาที: ตอนนี้คุณสามารถดูข้อความรหัสผ่านของคุณได้อย่างง่ายดาย 20 ครั้งต่อวัน เจาะวิธีแก้ไขปัญหา home-brew ของคุณเพื่อเลียนแบบคุณลักษณะที่ขาดหายไปนี้อาจรวมกับ shell shell ของTMOUTเชลล์ (ขอขอบคุณผู้ใช้บน freenode …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.