เชื่อมต่อผ่าน ssh โดยใช้ไฟล์. pem


100

ฉันต้องการทราบวิธีเชื่อมต่อผ่าน ssh โดยใช้ไฟล์. pem กับเซิร์ฟเวอร์ใด ๆ

ขณะนี้ฉันกำลังดำเนินการคำสั่งต่อไปนี้:

ssh user@mydomain.com

ฉันควรใช้ตัวเลือกอะไร?

คำตอบ:


177

ใช้-iตัวเลือก:

ssh -i mykey.pem user@mydomain.com

ตามที่ระบุไว้ในคำตอบนี้ไฟล์นี้ต้องมีการตั้งค่าสิทธิ์ที่ถูกต้อง หน้าคน SSHพูดว่า:

ssh จะละเว้นไฟล์คีย์ส่วนตัวหากผู้อื่นสามารถเข้าถึงได้

คุณสามารถเปลี่ยนสิทธิ์ด้วยคำสั่งนี้:

chmod go= mykey.pem

นั่นคือตั้งค่าสิทธิ์สำหรับg roup และo thers เท่ากับรายการสิทธิ์ที่ว่างเปล่า


1
ฉันแค่จะชี้ให้เห็นว่าหากคุณไม่ได้รูทคุณควร chmod ไฟล์. pem และเปิดใช้งานสิทธิ์ในการอ่านสำหรับผู้ใช้ของคุณ
Ionuț Ciuta

1
สิ่งนี้จะกล่าวถึงเฉพาะด้านไคลเอ็นต์ของสมการเท่านั้น สำหรับการตั้งค่าเซิร์ฟเวอร์คุณจะต้องคัดลอกคีย์สาธารณะของคุณลงในไฟล์ ~ / .ssh / Authorized_keys คุณสามารถทำได้จากเครื่องของคุณโดย: "ssh-copy-id -i ~ / mykey.pub user@mydomain.com"
Todd Walton

44
chmod 400 mykey.pem

ssh -i mykey.pem user@mydomain.com

จะเชื่อมต่อคุณผ่าน ssh โดยใช้ไฟล์. pem ไปยังเซิร์ฟเวอร์ใดก็ได้


4
"chmod 400" แก้ไขปัญหานี้: สิทธิ์ 0777 สำหรับ "some_file.pem" เปิดเกินไป ผู้อื่นต้องไม่สามารถเข้าถึงไฟล์คีย์ส่วนตัวของคุณได้ คีย์ส่วนตัวนี้จะถูกละเว้น
pantos27

16

สำหรับ AWS หากผู้ใช้เป็น Ubuntu ให้ใช้สิ่งต่อไปนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล

chmod 400 mykey.pem

ssh -i mykey.pem ubuntu@your-ip

1

คุณสามารถเชื่อมต่อกับอินสแตนซ์ AWS ec-2 โดยใช้คำสั่งต่อไปนี้

chmod 400 mykey.pem

ssh -i mykey.pem username@your-ip

โดยค่าเริ่มต้นชื่อเครื่องมักจะเป็นเหมือน ubuntu เนื่องจากโดยปกติแล้วเครื่อง ubuntu จะใช้เป็นเซิร์ฟเวอร์ดังนั้นคำสั่งต่อไปนี้จะใช้ได้

ssh -i mykey.pem ubuntu@your-ip

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