Làm thế nào để ssh từ một thể hiện ec2 sang một thể hiện khác?


3

Tôi đã tạo hai phiên bản EC2 trên AWS. Tôi đã tạo một cặp chìa khóa cho mỗi người trong số họ. Tôi đã tải xuống khóa riêng .pem và chuyển đổi chúng thành .ppk định dạng. Tôi có thể kết nối với từng phiên bản ec2 của mình bằng PuTTY và khóa riêng .ppk của chúng. Nhưng làm thế nào để tôi SSH từ một trong các ví dụ ec2 của tôi sang một ví dụ khác? Tôi có thể ping DNS công cộng của một trong hai từ cái kia. Nhưng nếu tôi thử ssh từ cái này sang cái khác, tôi nhận được:

Quyền bị từ chối (khóa công khai).


thiết lập các khóa này vào bàn phím của bạn (chỉ một nửa công khai). khởi chạy 2 phiên bản mới với mỗi keypairs này. tải lên mọi thứ (cụ thể là một nửa riêng tư) để trở thành ứng dụng khách được chỉ định (ví dụ: đối với khóa A, nó được sử dụng để khởi chạy thể hiện B và một nửa riêng tư của nó được tải lên đối tượng A).
Skaperen

Tôi nghĩ rằng bạn có thể cần phải chuyển đổi các khóa thành định dạng openssh: stackoverflow.com/questions/2224066/
matiu

Câu trả lời:


6

Phương pháp 1 - sử dụng cùng các khóa trên máy chủ:

Chuyển đổi các phím sang định dạng openssh và tải các khóa riêng lên máy chủ. Khi bạn ssh đến máy chủ đích, chỉ định tệp khóa riêng:

ssh -i mykey.pem private.ip.of.other.server

Phương pháp 2 - Tạo khóa mới

Trên mỗi máy chủ chạy:

ssh-keygen

Nhấn enter enter enter. Bạn sẽ có hai tệp:

.ssh/id_rsa
.ssh/id_rsa.pub

Trên Máy chủ A , mèo và sao chép vào clipboard khóa công khai:

cat ~/.ssh/id_rsa.pub
[select and copy to your clipboard]

ssh vào Máy chủ B và nối các nội dung của nó vào tệp ủy quyền của nó:

cat >> ~/.ssh/authorized_keys
[paste your clipboard contents]
[ctrl+d to exit]

Bây giờ ssh từ máy chủ A:

ssh -i ~/.ssh/id_rsa private.ip.of.other.server

Cảm ơn bạn cho một lời giải thích đơn giản và đơn giản! Nó hoạt động hoàn hảo.
raphael75

3

Có một giải pháp thứ 3 và IMHO tốt nhất được gọi là chuyển tiếp đại lý ssh :

  • trên cấu hình máy cục bộ ~ / .ssh / config, bằng cách thêm phần sau:
Host <ip-or-name-of-A-server>
  ForwardAgent yes
  • Tôi giả sử trên máy chủ A và B, bạn có cục bộ ~ / .ssh / id_rsa.pub được thêm vào máy chủ ~ / .ssh / ủy quyền

Trong khi làm việc trên máy chủ Một phím của bạn có thể được sử dụng trong giao tiếp ssh tiếp theo - ví dụ:

  • kết nối với máy chủ khác với máy khách ssh - trong trường hợp này là máy chủ B,
  • scp (bản sao an toàn),
  • git - bạn có thể kéo / đẩy bằng cách sử dụng danh tính cục bộ của mình vào kho git từ xa
  • v.v.

Để kiểm tra xem điều này có hoạt động không:

  • kết nối với máy chủ A
  • kiểm tra xem có kết nối ổ cắm để trao đổi khóa hay không bằng cách phát hiện SSH_AUTH_SOCK env var:
set|grep SSH_AUTH_ # output should be something like this:
SSH_AUTH_SOCK=/tmp/ssh-sEHiRF4hls/agent.12042

Ghi chú:


Bạn cũng sẽ cần đảm bảo rằng Nhóm bảo mật có quy tắc gửi đến cho cổng 22 (SSH) với mạng con EC2 của bạn làm nguồn.
weston
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.