ฉันสามารถใช้ PLink และ Pageant กับ Cygwin ได้หรือไม่


26

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


คำตอบ:


17

ฉันยังเขียนพร็อกซี่ระหว่าง openssh และประกวดซึ่งผมเรียกSSH-ประกวด ดูเหมือนว่าวิธีการเดียวกับ charade แต่ฉันไม่เคยได้ยินเลย ในกรณีที่คุณมีปัญหาฉันคิดว่าฉันควรที่จะลองใช้ ssh-pageant แทน


11

ฉันเจอคนแปลกหน้าเมื่อไม่นานมานี้ซึ่งแทนที่ ssh-agent และพร็อกซีไปที่ Pageant ในตอนนั้นฉันยังทำงานไม่ได้และยังไม่มีโอกาสได้เล่นด้วยซ้ำ แต่มันก็คุ้มค่าที่จะลอง หากคุณมีโชคโปรดโพสต์กลับและแจ้งให้เราทราบมันอยู่ในรายการสิ่งที่ต้องทำสำหรับอายุ!


ฉันสามารถยืนยันการใช้งานได้ (สามารถ @Nightfly ด้านล่าง)
Christopher Galpin

2
ฉันเพียงจะเพิ่มว่าก่อนที่คุณจะสร้างแพคเกจที่ทำให้แน่ใจว่าคุณมีแพคเกจดังต่อไปนี้นอกเหนือจากการเริ่มต้นการติดตั้ง Cygwin: make, gcc-core, keychain, และแน่นอนpsmisc opensshวิธีนี้ถ้าคุณทำตามคำแนะนำอย่างละเอียดจากไฟล์ README คุณจะไม่ได้รับข้อผิดพลาดใด ๆ
Alexander Pogrebnyak

5

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

มันเป็นไปได้ที่จะทำเช่นเดียวกันกับ Plink เพียงใช้ตัวเลือก -A และใช้การตั้งค่า SSH_AUTH_SOCK ที่ได้ในเซสชัน Cygwin แบบโต้ตอบของคุณ คำเตือน: ฉันไม่ได้ลองสิ่งนี้

แก้ไข: ฉันได้ลองแล้ว; มันใช้งานได้ดี ฉันสร้างทางลัดไปยัง PLINK:

"C:\path\to\PLINK.EXE" -A -ssh -l yournamehere localhost "echo $SSH_AUTH_SOCK; while :; do sleep 86400; done"

จากนั้นในเทอร์มินัล Cygwin (ฉันใช้ PuTTYcyg แน่นอน):

export SSH_AUTH_SOCK=/tmp/ssh-crYQh24AMq/agent.3964
ssh-add -l

ดูเหมือนว่าจะทำงานได้ดี แต่ยังคงต้องการ sshd ในพื้นที่

สิ่งที่จะเป็นจริงที่ดีคือการมีตัวแทน openssh ได้ที่ติดต่อสื่อสารโดยตรงกับ keystore ประกวด แต่นี้จะไม่เกิดขึ้นเว้นแต่คนเขียนสัตว์ดังกล่าว ฉันดูดวงจันทร์หลายดวงก่อนหน้านี้และดูเหมือนว่าจะมีปัญหามากกว่าที่ควรค่าเนื่องจากการทำงานรอบนี้ง่ายพอ


mmm นี่ไม่ใช่ความคิดที่ไม่ดีเลย อาจเป็นไปได้ว่าฉันจะไป ขอบคุณ! และเกี่ยวกับตัวแทนที่เข้ากันได้กับ openssh ของคุณใช่นั่นคือสิ่งที่ฉันหวังว่าจะได้รับ ดูเหมือนว่ามันจะเป็นโค้ดที่มีมูลค่าค่อนข้างสูงเนื่องจากงานจำนวนมากทำให้ซอฟต์แวร์ (เช่นคอมไพล์) เข้ากันได้กับ openssh และ plink ทำไมไม่เพียงแค่มีเลเยอร์การแปล? ดูเหมือนว่า "วิธี Unix" ที่จะทำมัน :)
Jerph

2

คุณสามารถไปทางอื่นและใช้ puttycyg ได้ไหม?

[ http://code.google.com/p/puttycyg/]

ในแบบที่คุณมีฉาบเป็นขั้ว cygwin ของคุณ


ฉันไม่แน่ใจว่าผลลัพธ์ของการใช้ผงสำหรับอุดรูจะเป็นอย่างไรสำหรับสคริปต์ Cygwin ของฉัน ฉันไม่ชัดเจนว่าที่ puttycyg แทรกตัวเองฉันเดา ฉันจะดูมัน - ขอบคุณ!
Jerph

0

ฉันอยากจะแนะนำสิ่งเดียวกัน (ใช้ putty) แต่เพียงใช้ putty เพราะ intergrates ดีกว่าด้วย pagent และ plink ฉันใช้มันพร้อมกับ msysgit แต่ใช้ git ทุบตีให้โดย msysgit และมันจะดีการสลับระหว่างคอนโซลที่น่าเบื่อเล็กน้อย การแยกสามารถทำได้ดีเช่นกัน


ฉันไม่สามารถจาก Cygwin ไปได้อย่างน่าเสียดาย ฉันขึ้นอยู่กับแพคเกจบางอย่างที่มีให้ไม่ใช่แค่ของ ssh console เท่านั้น Msys มีจุดแข็ง (เช่น "รวม" ดีขึ้นกับเครื่องมือ Windows หลายรุ่นและ Ruby รุ่น Windows เป็นต้น) แต่มันยากมากที่จะโยกย้ายสคริปต์ที่ใช้ Cygwin ของฉันด้วยเครื่องมือที่มีอยู่บน Msys
Jerph

0

อีกวิธีในการทำ

เพิ่มบรรทัดนี้ที่ด้านบนสุดของ. bash_profile

exec ssh-agent /usr/bin/bash

จากนั้นเพิ่มคีย์ของคุณที่ด้านล่างของ. bashrc

ssh-add ~/.ssh/myprivate

ลิงก์นี้ไปยังประกวดได้อย่างไร คำถามคือว่าจะไม่ใช้ssh-agentนอกเหนือจากนั้น
Tobias Kienzler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.