วิธีการตั้งค่า ssh สำหรับกุญแจสาธารณะจากเครื่องใด ๆ


-1

ฉันมี Mac ที่ใช้ Lion อยู่ที่บ้าน ฉันปิดการใช้งานรหัสผ่าน ssh; ฉันแค่ต้องการใช้กุญแจสาธารณะ

ฉันสร้างคู่คีย์ส่วนตัว / สาธารณะ แต่ตอนนี้ฉันสับสน ฉันจะเริ่มงานใหม่ในวันพรุ่งนี้และต้องการเข้าสู่ระบบจากที่บ้าน ทุกคำแนะนำที่ฉันเห็นว่า "ก่อนอื่นให้คัดลอกกุญแจสาธารณะ (ในพื้นที่) ไปยัง (เซิร์ฟเวอร์) ... โดยใช้รหัสผ่าน"

แต่ฉันจะทำอย่างนั้นจากที่ตั้งใหม่ได้อย่างไรหากฉันปิดการใช้งานรหัสผ่าน?

มีวิธีเข้าถึงเครื่องที่บ้านของฉันจากทุกที่หรือไม่ถ้าฉันใช้กุญแจกับฉัน

ฉันคิดว่าถ้าฉันเพียงแค่คัดลอกกุญแจสาธารณะของเครื่องที่บ้านไปยังเครื่องที่บ้าน 'authorized_keys' จากนั้นใช้กุญแจส่วนตัวของเครื่องที่บ้านจากแล็ปท็อปของฉันมันจะทำงาน ...

zmbp:~ dzg$ ssh -v 192.168.1.99
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 192.168.1.99 [192.168.1.99] port 22.
debug1: Connection established.
debug1: identity file /Users/dzg/.ssh/identity type -1
debug1: identity file /Users/dzg/.ssh/id_rsa type 1
debug1: identity file /Users/dzg/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.6
debug1: match: OpenSSH_5.6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.1.99' is known and matches the RSA host key.
debug1: Found key in /Users/dzg/.ssh/known_hosts:6
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/dzg/.ssh/identity
debug1: Offering public key: /Users/dzg/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/dzg/.ssh/id_dsa
debug1: read PEM private key done: type DSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

คำตอบ:


1

ที่แล็ปท็อปไคลเอ็นต์ SSH จะไม่รับกุญแจโดยอัตโนมัติด้วยชื่อที่ไม่ใช่ค่าเริ่มต้นเว้นแต่คุณจะแจ้งให้ทราบ โปรดทราบว่าบันทึกพูดว่า:

debug1: การเสนอคีย์สาธารณะ: /Users/dzg/.ssh/id_rsa

มันคือการนำเสนอคีย์เริ่มต้นนั่นคือ ~ / .ssh / id_rsa ไม่ใช่คีย์ ~ / .ssh / home

คุณควรใช้ssh -i ~/.ssh/homeเพื่อระบุคีย์ที่คุณต้องการใช้อย่างชัดเจน หรือคุณสามารถเปลี่ยนชื่อที่สำคัญบ้านid_rsaหรือid_dsaแล็ปท็อปที่ขึ้นอยู่กับชนิดที่เกิดขึ้นจริงของคีย์

นอกจากนี้หากเป็นไปได้ถ้าคุณมีปัญหาการตรวจสอบคีย์ SSH ให้ค้นหาบันทึกฝั่งเซิร์ฟเวอร์ : เซิร์ฟเวอร์จะบันทึกเหตุผลที่แน่นอนของความล้มเหลวในการเข้าสู่ระบบ แต่จะไม่เปิดเผยให้ลูกค้าทราบเนื่องจากไคลเอ็นต์เพิ่งล้มเหลวในการพิสูจน์ ตัวตนของมัน

เท่าที่เซิร์ฟเวอร์รู้ไคลเอนต์ที่ไม่ได้รับการรับรองอาจเป็นผู้บุกรุก: ไม่มีเหตุผลที่จะให้เบาะแสเพิ่มเติมแก่เขา / เธอ


0

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

แม้ว่าคุณจะต้องสามารถไปที่พอร์ต ssh ของเครื่องที่บ้านได้

เคล็ดลับในบล็อกของฉัน: เคล็ดลับ SSH ปลอดภัย


แล้วทำไมมันใช้ไม่ได้ ฉันทำ keypair บนเครื่องที่บ้าน (@ 192.168.1.99) homeและhome.pub... จากนั้นฉันเพิ่มลงhome.pubในบ้านauthorized_keys... จากนั้นก็คัดลอกhomeไปยังแล็ปท็อปของ.ssh... จากแล็ปท็อปที่พยายามssh 192.168.1.99และssh -i home 192.168.1.99(ชื่อผู้ใช้เดียวกัน)
Dan

@ Ze'ev ชื่อไฟล์ของไฟล์ในไคลเอนต์~/.sshคืออะไร? มันจะต้องมีชื่อ id_rsa หรือ id_dsa หรือคล้ายกัน
ernie

@ernie นั่นก็ไม่ได้ผลเหมือนกัน
Dan

ตรวจสอบบันทึก นอกจากนี้ไดเร็กทอรี. ssh ควรมี 700 perms และไฟล์ในนั้น 600 perms

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