Làm cách nào để thay đổi cặp khóa cho phiên bản ec2 của tôi trong bảng điều khiển quản lý AWS? Tôi có thể dừng cá thể, tôi có thể tạo cặp khóa mới, nhưng tôi không thấy bất kỳ liên kết nào để sửa đổi cặp khóa của cá thể.
Làm cách nào để thay đổi cặp khóa cho phiên bản ec2 của tôi trong bảng điều khiển quản lý AWS? Tôi có thể dừng cá thể, tôi có thể tạo cặp khóa mới, nhưng tôi không thấy bất kỳ liên kết nào để sửa đổi cặp khóa của cá thể.
Câu trả lời:
Câu trả lời này rất hữu ích trong trường hợp bạn không còn quyền truy cập SSH vào máy chủ hiện tại (tức là bạn đã mất khóa riêng của mình).
Nếu bạn vẫn có quyền truy cập SSH, vui lòng sử dụng một trong các câu trả lời dưới đây.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replaces-lost-key- Pair
Đây là những gì tôi đã làm, nhờ vào bài đăng trên blog của Eric Hammond:
/dev/xvda1
âm lượng của nó (hãy gọi nó là âm lượng A) - xem tại đây/dev/xvdf
(hoặc /dev/sdf
)SSH đến phiên bản vi mô mới và gắn kết khối lượng A đến /mnt/tmp
$ sudo gắn kết / dev / xvdf1 / mnt / tmp
Sao chép ~/.ssh/authorized_keys
vào/mnt/tmp/home/ubuntu/.ssh/authorized_keys
/dev/xvda
.pem
tệp mới của bạnĐó là nó.
mkdir /mnt/tmp
và sau đó mount /dev/xvdf /mnt/tmp
nên thực hiện thủ thuật cho # 5. Và đừng quên bước 13. có lẽ là rm ~/.ssh/known_hosts
trên các hộp bạn đã kết nối từ đó.
.ssh/authorized_keys
tập tin ban đầu .
Khi một cá thể đã được bắt đầu, không có cách nào để thay đổi cặp khóa liên quan đến cá thể ở mức dữ liệu meta, nhưng bạn có thể thay đổi khóa ssh nào bạn sử dụng để kết nối với thể hiện.
Có một quá trình khởi động trên hầu hết các AMI tải xuống khóa ssh công khai và cài đặt nó trong tệp .ssh / ủy quyền để bạn có thể ssh trong khi người dùng đó sử dụng khóa ssh riêng tương ứng.
Nếu bạn muốn thay đổi khóa ssh nào bạn sử dụng để truy cập một thể hiện, bạn sẽ muốn chỉnh sửa tệp ủy quyền trên chính cá thể đó và chuyển đổi sang khóa chung ssh mới của bạn.
Tệp ủy quyền_key nằm dưới thư mục con .ssh trong thư mục chính của người dùng mà bạn đang đăng nhập. Tùy thuộc vào AMI bạn đang chạy, nó có thể nằm trong một trong:
/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys
Sau khi chỉnh sửa tệp ủy quyền, luôn sử dụng một thiết bị đầu cuối khác để xác nhận rằng bạn có thể ssh vào ví dụ trước khi bạn ngắt kết nối với phiên bạn đang sử dụng để chỉnh sửa tệp. Bạn không muốn phạm sai lầm và tự khóa mình hoàn toàn.
Trong khi bạn đang suy nghĩ về các khóa bàn phím ssh trên EC2, tôi khuyên bạn nên tải khóa công khai ssh cá nhân của riêng bạn lên EC2 thay vì Amazon tạo ra cặp khóa cho bạn.
Đây là một bài báo tôi đã viết về điều này:
Tải khóa ssh cá nhân lên Amazon EC2
http://alatural.com/2010/10/ec2-ssh-keys
Điều này sẽ chỉ áp dụng cho các trường hợp mới mà bạn chạy.
.pem
tệp khóa riêng trên máy Mac của tôi, tuy nhiên ssh -i key.pem
không xác thực (quyền bị từ chối (khóa công khai)). Trong Bảng điều khiển quản lý EC2 dưới Tên cặp khóa, nó không liệt kê gì cả. Điều này là đáng báo động với tôi. Làm thế nào tôi có thể thiết lập điều này? Nó xuất hiện dựa trên Bảng điều khiển quản lý rằng không có bàn phím nào tôi đã cấu hình được gán cho thể hiện!
Chạy lệnh này sau khi bạn tải xuống pem AWS của bạn.
ssh-keygen -f YOURKEY.pem -y
Sau đó đổ đầu ra vào authorized_keys
.
Hoặc sao chép tệp pem vào ví dụ AWS của bạn và thực hiện các lệnh sau
chmod 600 YOURKEY.pem
và sau đó
ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys
Hướng dẫn từ bộ phận hỗ trợ AWS EC2:
điều này sẽ lưu tệp ủy quyền được cập nhật
bây giờ hãy thử mở một phiên SSH mới cho cá thể của bạn bằng pai khóa mới của bạn
Khi bạn đã xác nhận rằng bạn có thể SSH vào ví dụ bằng cặp khóa mới, bạn có thể vi .ssh / ủy quyền_key và xóa khóa cũ.
Trả lời nhận xét của Shaggie:
Nếu bạn không thể kết nối với phiên bản (ví dụ: khóa bị hỏng), hãy sử dụng bảng điều khiển AWS để tách âm lượng ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) và gắn lại nó vào thể hiện hoạt động, hơn là thay đổi phím trên ổ đĩa và gắn lại nó vào thể hiện trước đó.
Tôi nhận thấy rằng khi được quản lý bởi Elastic Beanstalk, bạn có thể thay đổi cặp khóa EC2 đang hoạt động của mình. Trong Bean Beanalk> Cấu hình> Bảo mật, chọn khóa mới từ trình đơn thả xuống của cặp khóa EC2 . Bạn sẽ thấy thông báo này hỏi bạn có chắc không:
EC2KeyName: Thay đổi tùy chọn Cài đặt EC2KeyName sẽ không có hiệu lực ngay lập tức. Mỗi phiên bản EC2 hiện tại của bạn sẽ được thay thế và cài đặt mới của bạn sẽ có hiệu lực sau đó.
Ví dụ của tôi đã bị chấm dứt khi tôi làm điều này. Sau đó nó bắt đầu, chấm dứt và bắt đầu lại. Rõ ràng "thay thế" có nghĩa là chấm dứt và tạo một trường hợp mới. Nếu bạn đã sửa đổi khối lượng khởi động của mình, trước tiên hãy tạo AMI, sau đó chỉ định AMI đó trong cùng dạng Bean Beanalk> Cấu hình> Thể hiện dưới dạng ID AMI tùy chỉnh . Điều này cũng cảnh báo về việc thay thế các phiên bản EC2.
Sau khi bạn đã sửa đổi cặp khóa EC2 và ID AMI tùy chỉnh của mình và sau khi thấy cảnh báo về cả hai, hãy nhấp vào Lưu để tiếp tục.
Hãy nhớ rằng địa chỉ IP thay đổi khi thể hiện được tạo lại, do đó bạn sẽ cần truy xuất địa chỉ IP mới từ bảng điều khiển EC2 để sử dụng khi kết nối qua SSH.
Tôi đã trải qua cách tiếp cận này, và sau một thời gian, đã có thể làm cho nó hoạt động. Việc thiếu các lệnh thực tế làm cho nó khó khăn, nhưng tôi đã tìm ra nó. TUY NHIÊN - cách tiếp cận dễ dàng hơn nhiều đã được tìm thấy và thử nghiệm ngay sau đó:
Nếu các bước dưới đây được thực hiện, nó sẽ tiết kiệm rất nhiều thời gian và sẽ không cần phải dừng phiên bản đang chạy.
Thế là xong. Thưởng thức :)
Tôi tin rằng cách đơn giản nhất là:
Trong trường hợp bạn đang sử dụng nền tảng ElasticBeanstalk, bạn có thể thay đổi các phím bằng cách đi:
Điều này sẽ chấm dứt cá thể hiện tại và tạo một cái mới với các khóa / cài đặt đã chọn.
Có hai kịch bản được hỏi trong câu hỏi này: -
1) Bạn không có quyền truy cập vào tệp .pem đó là lý do tại sao bạn muốn tạo một tệp mới.
2) Bạn có. truy cập tệp pem với bạn nhưng bạn chỉ muốn thay đổi hoặc tạo tệp .pem mới cho một số mục đích bảo mật hoặc lỗ hổng .
Vì vậy, nếu bạn bị mất chìa khóa, bạn có thể cuộn lên và xem các câu trả lời khác . Nhưng nếu bạn chỉ cần thay đổi tệp .pem của mình cho mục đích bảo mật, hãy làm theo các bước: -
1) Chuyển đến đăng nhập bảng điều khiển AWS và tạo tệp .pem mới từ phần cặp khóa ở đằng kia. Nó sẽ tự động tải tập tin .pem vào máy tính của bạn
2) thay đổi quyền thành 400 nếu bạn đang sử dụng Linux / ubfox, hãy nhấn lệnh bên dưới
chmod 400 yournewfile.pem
3) Tạo RSA của tệp mới tải xuống trong máy cục bộ của bạn
ssh-keygen -f yournewfile.pem -y
4) Sao chép mã RSA từ đây
5) Bây giờ SSH đến phiên bản của bạn thông qua tệp .pem trước đó
ssh -i oldpemfileName.pem username@ipaddress
sudo vim ~/.ssh/authorized_keys
6) Cung cấp không gian một hai dòng và dán RSA đã sao chép của tệp mới vào đây và sau đó lưu tệp
7) Bây giờ tệp .pem mới của bạn được liên kết với phiên bản đang chạy
8) Nếu bạn muốn tắt quyền truy cập tệp .pem trước đó, chỉ cần chỉnh sửa
sudo vim ~/.ssh/authorized_keys
nộp và xóa hoặc thay đổi RSA trước đó từ đây.
Lưu ý: - Xóa cẩn thận để RSA mới tạo không bị thay đổi.
Theo cách này, bạn có thể thay đổi / kết nối tệp .pem mới với phiên bản đang chạy của bạn.
Bạn có thể thu hồi quyền truy cập vào tệp .pem được tạo trước đó do mục đích bảo mật.
Hy vọng nó sẽ giúp!
Giải pháp đơn giản nhất là sao chép nội dung của
~/.ssh/id_rsa.pub
vào ủy quyền AWS của bạn tại
~/.ssh/authorized_keys
Điều này sẽ cho phép bạn ssh vào phiên bản EC2 mà không chỉ định tệp pem cho lệnh ssh. Bạn có thể xóa tất cả các khóa khác sau khi bạn đã kiểm tra kết nối với nó.
Nếu bạn cần tạo một khóa mới để chia sẻ nó với người khác, bạn có thể làm điều đó với:
ssh-keygen -t rsa
sẽ tạo tệp private.p.pem và bạn có thể lấy khóa chung đó bằng:
ssh-keygen -f private_key.pem -y > public_key.pub
Bất cứ ai có private_key.pem đều có thể kết nối với
ssh user@host.com -i private_key.pem
~/.ssh/authorized_keys
khi tôi thậm chí không thể ví dụ SSH aws?
Bạn không cần phải xoay thiết bị gốc và thay đổi Khóa công khai SSH authorized_keys
. Vì điều đó có thể sử dụng userdata để thêm khóa ssh cho bạn vào bất kỳ trường hợp nào. Vì vậy, trước tiên bạn cần tạo KeyPair mới bằng bảng điều khiển AWS hoặc thông qua ssh-keygen.
ssh-keygen -f YOURKEY.pem -y
Điều này sẽ tạo khóa chung cho SSH KeyPair mới của bạn, sao chép khóa chung này và sử dụng nó trong tập lệnh bên dưới.
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xigPPA/BAjDPJFflqNuJt5QY5IBeBwkVoow/uBJ8Rorke/GT4KMHJ3Ap2HjsvjYrkQaKANFDfqrizCmb5PfAovUjojvU1M8jYcjkwPG6hIcAXrD5yXdNcZkE7hGK4qf2BRY57E3s25Ay3zKjvdMaTplbJ4yfM0UAccmhKw/SmH0osFhkvQp/wVDzo0PyLErnuLQ5UoMAIYI6TUpOjmTOX9OI/k/zUHOKjHNJ1cFBdpnLTLdsUbvIJbmJ6oxjSrOSTuc5mk7M8HHOJQ9JITGb5LvJgJ9Bcd8gayTXo58BukbkwAX7WsqCmac4OXMNoMOpZ1Cj6BVOOjhluOgYZbLr" >> /home/hardeep/.ssh/authorized_keys
--//
Sau khi khởi động lại, máy sẽ có khóa publch SSH được chỉ định. Xóa userdata sau lần khởi động lại đầu tiên. Đọc thêm về userdata khi khởi động .
Cảnh báo: Đừng quên xóa dữ liệu người dùng một lần nữa. Nếu không, phím này sẽ được đẩy vào mỗi lần khởi động. Hướng dẫn từng bước .
#cloud-config
bootcmd:
- echo 'ssh-rsa AAAAB3Nz...' > /root/.ssh/authorized_keys
Tôi đã thử các bước dưới đây và nó hoạt động mà không dừng lại. Yêu cầu của tôi là - vì tôi đã thay đổi máy khách của mình, tệp .pem cũ không cho phép tôi đăng nhập vào thể hiện ec2.
Bạn sẽ thấy các khóa cũ của bạn trong tập tin đó.
ssh-keygen -f YOU_PEM_FILE.pem -y Nó sẽ tạo một khóa. Nối khóa vào ~ / .ssh / ủy quyền được mở ở bước # 1. Không cần xóa khóa cũ.
Từ bảng điều khiển AWS, tạo một cặp khóa mới. Lưu trữ nó trong máy mới của bạn. Đổi tên nó thành tệp pem cũ - lý do là tệp pem cũ vẫn được liên kết với phiên bản ec2 trong AWS.
Tất cả đã được làm xong.
Tôi có thể đăng nhập vào AWS ec2 từ máy khách mới của mình.
Bạn có một số tùy chọn để thay thế khóa của thể hiện EC2 của bạn.
Vì tùy chọn đầu tiên có thể dễ dàng tìm thấy trong các câu trả lời hoặc tại công cụ tìm kiếm bạn chọn, tôi muốn tập trung vào Trình quản lý hệ thống.
Systems Manager
Automation
bên trái.Execute Automation
AWSSupport-TroubleshootSSH
(thường là trên trang cuối cùng)Bạn có thể tìm thêm thông tin về Tài liệu AWS chính thức
Câu trả lời của Yegor256 đã có hiệu quả với tôi, nhưng tôi nghĩ rằng tôi sẽ chỉ thêm một số ý kiến để giúp đỡ những người không giỏi trong việc gắn ổ đĩa (như tôi!):
Amazon cung cấp cho bạn một sự lựa chọn về những gì bạn muốn đặt tên cho âm lượng khi bạn gắn nó. Bạn đã sử dụng một tên trong phạm vi từ / dev / sda - / dev / sdp Các phiên bản mới hơn của Ubuntu sau đó sẽ đổi tên những gì bạn đặt trong đó thành / dev / xvd (x) hoặc một cái gì đó để có hiệu lực.
Vì vậy, đối với tôi, tôi đã chọn / dev / sdp làm tên của tên mount trong AWS, sau đó tôi đăng nhập vào máy chủ và phát hiện ra rằng Ubuntu đã đổi tên âm lượng của tôi thành / dev / xvdp1). Sau đó tôi phải gắn ổ đĩa - đối với tôi, tôi phải làm như thế này:
mount -t ext4 xvdp1 /mnt/tmp
Sau khi vượt qua tất cả các vòng, tôi có thể truy cập các tệp của mình tại / mnt / tmp
Điều này sẽ chỉ hoạt động nếu bạn có quyền truy cập vào trường hợp bạn muốn thay đổi / thêm khóa vào. Bạn có thể tạo một cặp khóa mới. Hoặc nếu bạn đã có cặp khóa, thì bạn có thể dán khóa chung của cặp mới vào tệp ủy quyền trên ví dụ của bạn.
vim .ssh / ủy quyền
Bây giờ bạn có thể sử dụng khóa riêng cho cặp đó và đăng nhập.
Hi vọng điêu nay co ich.
nếu bạn không thể đăng nhập vào VM và xóa khóa ssh của mình và bạn cũng có thể thay đổi cặp khóa của ec2 bằng các bước dưới đây. Đi từng bước 1) dừng thể hiện ec2 của bạn. 2) chụp nhanh VM và lưu trữ. 3) tạo một VM mới trong khi tạo nó, chọn ảnh chụp nhanh của bạn và tạo VM từ Ảnh chụp nhanh của bạn. 4) trong khi việc tạo VM tải xuống khóa của bạn. 5) khi VM UP của bạn, bạn có thể ssh với một cặp khóa mới và dữ liệu của bạn cũng sẽ trở lại.
Bạn có thể làm gì...
Tạo Hồ sơ / Vai trò sơ thẩm mới có chính sách AmazonEC2RoleForSSM được đính kèm.
Đính kèm Hồ sơ cá nhân này vào ví dụ.
Nhờ những lời khuyên guys. Chắc chắn sẽ giữ chúng trong tâm trí khi tôi cần nghỉ ngơi các cặp chìa khóa. Tuy nhiên, vì lợi ích của sự hiệu quả và sự lười biếng, tôi đã nghĩ ra một thứ khác:
Hy vọng điều này có thể hữu ích cho bạn và giúp bạn tiết kiệm thời gian cũng như giảm thiểu lượng tóc trắng bạn có được từ những thứ như thế này :)