Tôi có thể SSH vào phiên bản máy chủ Amazon EC2 của mình không nếu tôi không có tệp .pem từ khi phiên bản được tạo?


10

Tôi đang làm việc với một số máy chủ Amazon EC2 đang hoạt động và tôi cần SSH vào các máy chủ. Tôi không có bất kỳ khóa nào được tạo khi máy chủ được thiết lập lần đầu tiên (một người khác đã làm điều đó rất lâu trước khi tôi đến đây). Tôi vẫn có thể vào máy chủ mà không cần các tệp chính?

FWIW Tôi đã thử rất nhiều thứ để SSH vào hộp cho đến nay, bao gồm cả việc tạo các cặp khóa mới trong bảng điều khiển EC2 và dường như không có gì hoạt động. Bài đăng hỗ trợ Amazon AWS nàycâu trả lời này dường như cho thấy tôi không gặp may trừ khi tôi muốn tạo AMI cho máy chủ hiện tại của mình và sau đó sử dụng nó để khởi tạo một phiên bản máy chủ EC2 hoàn toàn mới (chỉ để tạo tệp .pem được tạo tại thời điểm đó). Đó thực sự là cách duy nhất tôi có thể vào hộp vào thời điểm này?!

Câu trả lời:


26

Tóm lại: Có, bạn có thể, nhưng không phải không có một số công việc.

Bạn sẽ cần phải làm như sau:

(Đối với các bước này, giả sử rằng máy bạn gặp sự cố khi kết nối được gọi là máy chủ-01.)

Đầu tiên, trước khi bắt đầu các bước này, hãy chụp nhanh máy chủ của bạn.

  1. Bắt đầu một ví dụ mới, tạm thời. Gọi nó là máy chủ-02.
  2. Dừng máy chủ-01. Đừng chấm dứt nó, chỉ cần dừng lại.
  3. Hủy gắn /âm lượng EBS gốc ( ) từ máy chủ-01 và gắn nó vào máy chủ-02 như, nói /dev/sdb.
  4. Đăng nhập vào máy chủ-02 và chạy : $ mkdir /mnt/temp && mount /dev/sdb /mnt/temp. Điều này sẽ gắn kết phân vùng gốc của máy chủ-01 trong máy chủ (tạm thời)-02.
  5. Bây giờ bạn sẽ có thể: $ vi /home/<user>/.ssh/authorized_keysvà sao chép / dán vào khóa chung của bạn. Khi bạn đã thực hiện điều đó, lưu và đóng tệp.
  6. Bây giờ hãy chạy: $ cd / && umount /mnt/tempđể phân vùng gốc của máy chủ-01 từ máy chủ-02.
  7. Bây giờ, chỉ cần bỏ đính kèm âm lượng đó từ máy chủ-02, gắn lại vào máy chủ-01, sau đó khởi động máy chủ-01. Khi nó khởi động, bạn sẽ có thể ssh in lại.

2
Chỉ để thêm vào câu trả lời tuyệt vời này, tôi đã tìm thấy bài đăng trên blog này thông qua việc thực hiện nó từ dòng lệnh. alests.com/2011/02/ec2-fix-ebs-root
Eric

1

Chỉ là một mẹo trước khi bất cứ ai thử câu trả lời của EEAA ,

Nếu bạn chưa chạy lệnh iptables savehoặc iptables-saveđể lưu cấu hình của mình, thì bạn chỉ cần khởi động lại máy chủ. Trích dẫn câu trả lời này trên AskUbfox , tôi đã học được rằng iptableslưu cấu hình của bạn vào RAM trừ khi bạn lưu nó một cách rõ ràng vào các tệp cấu hình.

Các phiên bản EC2 có thể dễ dàng được khởi động lại từ Bảng điều khiển EC2 hoặc aws-cli


Umm, có vẻ như một câu trả lời cho một câu hỏi khác được đăng nhầm ở đây. Không có gì về tường lửa / iptables trong câu hỏi này.
kubanchot

Thật tệ, câu trả lời này là khi tất cả lưu lượng truy cập bị chặn đến một máy chủ nếu tất cả các địa chỉ IP bị chặn. Hãy cho tôi biết nếu nó cần phải được gỡ xuống.
lấy lại
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.