คำถามติดแท็ก ssh-agent

10
การส่งต่อ ssh-agent และ sudo ไปยังผู้ใช้รายอื่น
หากฉันมีเซิร์ฟเวอร์ A ซึ่งฉันสามารถเข้าสู่ระบบด้วยคีย์ ssh ของฉันและฉันมีความสามารถในการ "sudo su - otheruser" ฉันจะสูญเสียการส่งต่อคีย์เนื่องจากตัวแปร env ถูกลบและซ็อกเก็ตสามารถอ่านได้โดยผู้ใช้ดั้งเดิมของฉันเท่านั้น มีวิธีที่ฉันสามารถเชื่อมโยงคีย์การส่งต่อผ่าน "sudo su - otheruser" ดังนั้นฉันสามารถทำสิ่งต่าง ๆ บนเซิร์ฟเวอร์ B ด้วยคีย์การส่งต่อของฉัน (git clone และ rsync ในกรณีของฉัน)? วิธีเดียวที่ฉันคิดได้ก็คือการเพิ่มกุญแจของฉันไปที่ authorized_keys ของ otheruser และ "ssh otheruser @ localhost" แต่นั่นเป็นเรื่องยุ่งยากที่จะทำสำหรับผู้ใช้และชุดเซิร์ฟเวอร์ที่ฉันมี ในระยะสั้น: $ sudo -HE ssh user@host (success) $ sudo -HE -u otheruser ssh …

2
ใช้คีย์ส่งต่อเฉพาะจากตัวแทน SSH หรือไม่
สมมติว่าฉันมีกุญแจสำหรับ Github พร้อมกับปุ่มอื่น ๆ ฉันได้เพิ่มกุญแจจำนวนมากให้กับตัวแทน ssh ของฉัน ( ssh-add -Lคืนสายจำนวนมาก) ที่คอมพิวเตอร์ที่บ้านของฉัน A. ในฉัน.ssh/configฉันได้ตั้งค่าคีย์ที่จะใช้กับโฮสต์ที่ดังนั้นเช่น ssh -T -vvv git@github.com 2>&1 | grep Offering จะช่วยให้ debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github เสนอคีย์เดียวเท่านั้นตามที่คาดไว้ แต่จากนั้นจึงไปยังโฮสต์ B ด้วยForwardAgent yesและทำซ้ำคำสั่งเดียวกันฉันจะได้รับ debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2 debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium debug1: Offering RSA public key: …
30 ssh  ssh-agent 

6
ฉันสามารถใช้ PLink และ Pageant กับ Cygwin ได้หรือไม่
ตอนนี้ฉันใช้ msysgit เพราะเครื่องมือ GUI ซึ่งใช้ยูทิลิตี้การประกวดของ Putty และ PLink แต่ฉันใช้ Cygwin เป็นเทอร์มินัล SSH ทั่วไป ฉันใช้ตัวแทน SSH บน Cygwin แต่นั่นหมายความว่าฉันต้องป้อนรหัสผ่านคีย์ SSH สำหรับผู้จัดการคีย์ทั้ง SSH เป็นไปได้หรือไม่ที่จะกำหนดค่าเครื่องมือ Unix-port ทั้งหมดของฉัน (msys, git, cygwin, Ruby Net: SSH และอื่น ๆ ) เพื่อใช้ PLink / Pageant แทนที่จะเป็น ssh-agent ดูเหมือนว่าเป็นสิ่งที่ PLink สร้างขึ้นมา แต่ฉันไม่สามารถหาเอกสารเกี่ยวกับวิธีการได้
26 ssh  putty  cygwin  ssh-agent 

7
การรัน ssh-agent จากเชลล์สคริปต์
ฉันพยายามที่จะสร้างเชลล์สคริปต์ที่เหนือสิ่งอื่นใดเริ่มต้นขึ้น ssh-agent และเพิ่มคีย์ส่วนตัวให้กับตัวแทน ตัวอย่าง: #!/bin/bash # ... ssh-agent $SHELL ssh-add /path/to/key # ... ปัญหาของเรื่องนี้คือ ssh-agent เริ่มต้นใหม่จาก $ SHELL (ในกรณีของฉัน, ทุบตี) และจากมุมมองของสคริปต์มันถูกดำเนินการทุกอย่างและ ssh-add และสิ่งใด ๆ ข้างล่างนี้จะไม่ทำงาน ฉันจะเรียกใช้ ssh-agent จากเชลล์สคริปต์ของฉันและทำให้มันย้ายลงในรายการคำสั่งได้อย่างไร

10
SSH: การอนุญาตถูกปฏิเสธ (publickey, gssapi-with-mic, รหัสผ่าน)
================================================== ================== ปรับปรุง: มันเปิดใช้งานการกำหนดค่าของ sshd บนhost2จะไม่อนุญาตให้เข้าสู่ระบบด้วยรหัสผ่าน ขอบคุณผู้คนตอบคำถามนี้ ================================================== ================== สถานการณ์จำลอง: การทำงานกับ บริษัท สำหรับโครงการวิทยาลัยของฉัน ฉันต้องใช้ PuTTy เพื่อ SSH เป็นhost1อันดับแรกและจากนั้นก็เข้าสู่ SSH host2(ดูด้านล่าง) ฉันได้รับชื่อผู้ใช้และรหัสผ่านใน host2 ฉันไม่ได้มีการเข้าถึง host2 sshd_configที่ทุกคนดังนั้นผมจึงมีความรู้ไม่มัน นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามที่จะ SSH host2จากhost1: ff@host1:~$ ssh -v host2 OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /home/ff/.ssh/config debug1: Applying options for * debug1: …
17 ssh  ssh-agent 

1
วิธีเพิ่มคีย์ SSH ไปยัง PuTTY Agent เมื่อเริ่มต้นใน Windows Server
ฉันต้องเพิ่มคีย์ SSH ส่วนตัวให้กับ Putty Agent (pagent.exe) ทุกครั้งที่เซิร์ฟเวอร์ Windows เริ่มทำงาน - ก่อนที่ผู้ใช้จะล็อกออนแบบโต้ตอบ กุญแจสำคัญคือการใช้บริการ หากเป็นผู้ใช้ทั่วไปที่จำเป็นต้องใช้คีย์ฉันจะวางทางลัดในโฟลเดอร์เริ่มต้นอย่างไรก็ตามนี่ไม่สามารถใช้งานบนเซิร์ฟเวอร์เพราะไม่มีผู้ใช้เข้าสู่ระบบ ฉันต้องการสิ่งนี้ใน Windows Server 2008 เช่นเดียวกับ Windows Server 2003 ฉันคิดว่านี่จะเป็นกรณีการใช้งานที่ค่อนข้างธรรมดาเนื่องจากการพิสูจน์ตัวตนด้วยรหัสสาธารณะกับ SSH และ SFTP นั้นแพร่หลายมากขึ้น

1
SSH ForwardAgent หลายฮ็อพ
ฉันกำลังค้นหาวิธีแก้ไขปัญหาต่อไปนี้ใน 2 ชั่วโมงที่ผ่านมาโดยไม่มีโชค การพัฒนา: ฉันใช้การรับรองความถูกต้อง publickey เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของฉัน ฉันใช้การส่งต่อ ssh-agent เพื่อไม่ต้องจัดการกุญแจสาธารณะ / ส่วนตัว A, B and Cสมมติว่าผมมีเซิร์ฟเวอร์ LOCAL ---> A ---> Bนี้ทำงานได้ดีมากถ้าฉันเชื่อมต่อจาก LOCAL ---> A ---> Cนอกจากนี้ยังทำงานได้ดีมากถ้าผมทำ ตอนนี้ถ้าฉันลองLOCAL ---> A ---> B ---> CSSH ไม่สามารถเชื่อมต่อB to Cได้ น่าสังเกต: ฉันเชื่อมต่อกับเซิร์ฟเวอร์ A เป็นสภาพคล่องในขณะที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์ B ในฐานะรูท การเชื่อมต่อกับเซิร์ฟเวอร์ B เนื่องจากสภาพคล่องช่วยแก้ไขปัญหาได้ แต่นี่ไม่ใช่ตัวเลือกสำหรับฉัน ตามคำแนะนำของผู้ใช้ฉันใช้ssh -Aแต่ละครั้งเพื่อให้แน่ใจว่าตัวแทนการส่งต่อถูกเปิดใช้งาน ฉันพบหนึ่งคำถามที่คล้ายกันโดยไม่มีคำตอบที่นี่: เป็นไปได้หรือไม่ที่จะส่งต่อเอเจนต์ …

3
เลือก identity จาก ssh-agent ตามชื่อไฟล์
ปัญหา: ฉันมีssh-agentตัวตนประมาณ 20-30 ตัว เซิร์ฟเวอร์ส่วนใหญ่ปฏิเสธการรับรองความถูกต้องด้วยToo many failed authenticationsโดยทั่วไป SSH จะไม่ให้ฉันลองใช้ 20 คีย์ที่แตกต่างกันในการเข้าสู่ระบบ ในขณะนี้ฉันกำลังระบุไฟล์ข้อมูลประจำตัวสำหรับทุกโฮสต์ด้วยตนเองโดยใช้IdentityFileและIdentitiesOnlyคำสั่งเพื่อให้ SSH จะลองใช้ไฟล์คีย์หนึ่งไฟล์เท่านั้นซึ่งทำงานได้ แต่น่าเสียดายที่นี่จะหยุดทำงานทันทีที่ปุ่มเดิมไม่สามารถใช้งานได้อีกต่อไป ssh-add -lแสดงพา ธ ที่ถูกต้องให้ฉันสำหรับไฟล์คีย์ทุกไฟล์และพวกเขาจับคู่กับพา.ssh/configธ แต่มันไม่ทำงาน เห็นได้ชัดว่า SSH เลือกการเยื้องตามลายเซ็นของกุญแจสาธารณะและไม่ใช่โดยชื่อไฟล์ซึ่งหมายความว่าจะต้องมีไฟล์ต้นฉบับเพื่อที่ SSH จะสามารถแยกคีย์สาธารณะได้ มีสองปัญหากับสิ่งนี้: มันจะหยุดทำงานทันทีที่ฉันถอดปลั๊กแฟลชไดรฟ์ที่ถือกุญแจ ทำให้เอเจนต์ส่งต่อไร้ประโยชน์เนื่องจากไฟล์คีย์ไม่พร้อมใช้งานบนรีโมตโฮสต์ แน่นอนว่าฉันสามารถแยกกุญแจสาธารณะออกจากไฟล์ข้อมูลส่วนตัวของฉันและเก็บไว้ในคอมพิวเตอร์ของฉันและในคอมพิวเตอร์ระยะไกลทุกเครื่องที่ฉันมักจะลงชื่อเข้าใช้ มันไม่ได้เป็นวิธีที่น่าพอใจ สิ่งที่ฉันต้องการคือความเป็นไปได้ในการเลือกข้อมูลประจำตัวจาก ssh-agent ตามชื่อไฟล์เพื่อให้ฉันสามารถเลือกคีย์ที่ถูกต้องโดยใช้.ssh/configหรือผ่าน-i /path/to/original/keyแม้ในพื้นที่ห่างไกลที่ฉันเข้า SSH มันจะดีกว่านี้ถ้าฉันสามารถ "ตั้งชื่อเล่น" กุญแจให้ฉันได้โดยไม่ต้องระบุเส้นทางแบบเต็ม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.