ฉันจะเปลี่ยนไดเรกทอรีที่ ssh-keygen ส่งออกเป็นอย่างไร


54

ฉันต้องการเรียกใช้คำสั่งเช่น:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

ความเข้าใจของฉันคือ ssh-keygen ส่งออกไปยังไดเรกทอรีบ้าน ฉันกำลังทำงานกับคอมพิวเตอร์บนเครือข่ายโดยใช้ Git Bash (Windows, MYSS MINGW64) ซึ่งเป็นไดเรกทอรีหลักที่ฉันไม่มีสิทธิ์เข้าถึง ฉันเปลี่ยนโฮมไดเร็กตอรี่ดังนี้:

export HOME=C:/Users/myusername

ดังนั้นเมื่อฉันป้อน:

echo $HOME

มันบอกว่า:

C:/Users/myusername

แต่เมื่อฉันพยายามเรียกใช้คำสั่ง ssh-keygen อีกครั้งมันจะทำงานในไดเรกทอรีที่ฉันไม่มีสิทธิ์เข้าถึง ฉันดูไฟล์โปรไฟล์เพื่อหาเส้นทางที่มีการเข้ารหัสยาก แต่ไม่พบสิ่งใดเลย ฉันจะเปลี่ยนมันให้ชี้ไปยังไดเรกทอรีที่ฉันมีสิทธิ์เข้าถึงได้อย่างไร


พฤติกรรมเดียวกันนี้เกิดขึ้นกับ Ubuntu (การเปลี่ยนแปลงHOMEไม่มีผลกับไดเรกทอรีเริ่มต้นสำหรับssh-keygen) แม้ว่าการระบุไดเรกทอรีจะใช้งานได้อย่างชัดเจน แต่ฉันสนใจที่จะรู้ว่าทำไมssh-keygenไม่ใช้เพียงแค่$HOME/.sshตามที่HOMEกำหนดไว้ในปัจจุบัน
นาธาน

คำตอบ:


86

คุณควรจะทำได้โดยระบุชื่อของไฟล์ที่ส่งออกด้วย-fตัวเลือกเช่น

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f $HOME/.ssh/id_rsa

แน่นอนว่ามันช่วยได้จริงหากสร้างไดเรกทอรีเอาท์พุทแล้ว

สำหรับการอ่านเพิ่มเติม:


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