Tôi cần quyền truy cập SSH vào phiên bản Amazon EC2 chạy Ubuntu 10.4. Tất cả những gì tôi có là tên người dùng và mật khẩu Amazon. Có ý kiến gì không?
Câu trả lời:
Về cơ bản, bạn cần một tệp khóa riêng để đăng nhập vào EC2 của mình thông qua SSH. Làm theo các bước sau để tạo một:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- tên người dùng gốc đã được tránh trong các bản phát hành mới nhất, dựa trên lựa chọn phân phối của bạn ec2-user
hoặc ubuntu
làm tên người dùng của bạn.ubuntu
đăng nhập thay vì root
. Rõ ràng tôi đã có phiên bản máy chủ ubuntu 12.04.
ec2-user
hoặc có thể ubuntu
, nhưng không root
.
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
chỉ sử dụng ubuntu
thay vì root
. Vấn đề của bạn sẽ được giải quyết. Chúc mừng!
BƯỚC 1) Tải xuống các khóa cá nhân được gán cho máy ec2 của bạn (chỉ tải xuống một lần khi được tạo. Vì vậy, bạn nên cam kết ở đâu đó)
BƯỚC 2) và kích hoạt các lệnh sau,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Tài liệu chính thức : Kết nối với Phiên bản Linux / Unix của bạn bằng SSH
Trước tiên, bạn cần tạo một cặp khóa - thực hiện việc đó bằng bảng điều khiển EC2 của bạn. Sau đó, sử dụng khóa riêng của bạn để SSH vào máy chủ (tên người dùng là ec2-user
) bằng ứng dụng khách SSH mà bạn chọn.
Sau khi truy cập, bạn có thể cấp sudo su -
quyền truy cập root nếu muốn (lưu ý: bạn không thể đăng nhập trực tiếp với quyền root).
Nếu bạn đang sử dụng MacOS, bạn nên tạo / chỉnh sửa tệp cấu hình SSH (~ / .ssh / config) và đặt một cái gì đó như:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Sau đó, để kết nối với bất kỳ phiên bản EC2 nào:
ssh MYNAME.amazonaws.com
Chỉ có bấy nhiêu thôi!
Để thiết lập Ubuntu trên AWS, hãy làm theo các bước sau:
Để truy cập phiên bản qua SSH, hãy chạy:
Kết nối với hộp Linux bằng cách chỉ định tệp PEM của bạn, ví dụ:
ssh -i "file.pem" ubuntu@x.x.x.x
Đảm bảo rằng tệp PEM của bạn có 600 quyền ( chmod 600 file.pem
).
Nếu bạn đang chạy phiên bản VPC và nhóm bảo mật của bạn đúng (với các quy tắc phù hợp) và nó vẫn không hoạt động, trong phần VPC , hãy kiểm tra mạng con của bạn sẽ được gắn vào VPC của bạn (cả phiên bản của bạn đều được sử dụng ) và thiết lập quy tắc mới trong Route Table có 0.0.0.0/0
như Destination và bạn Internet gateway như Target .
Để biết thêm chi tiết, hãy kiểm tra: Khắc phục sự cố khi kết nối với phiên bản của bạn
Xem thêm: Các lý do có thể gây ra thời gian chờ khi cố gắng truy cập phiên bản EC2
1) Đầu tiên chmod
là .pem file
để hạn chế các quyền đối với tệp như bên dưới
chmod 400 my-key-pair.pem
2) Sau đó
ssh
với các lệnh sau trực tiếp từ .ssh
thư mục
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
Lưu ý: - Để điều hướng vào .ssh
thư mục. Đầu tiên nhấn Ctrl + H
để hiển thị tất cả các tệp ẩn và cuối cùngcd .ssh
Không đăng nhập với tư cách người dùng phù hợp với bạn OS Distro có thể là vấn đề. Đối với một số AMI mới nhất định, tên người dùng có thể không phải là "ubuntu", mà là "ec2-user". Ví dụ: đối với Amazon Linux, tôi tin rằng người dùng là "ec2-user". Eric Hammond đưa ra các ví dụ tại đây: http://alestic.com/2014/01/ec2-ssh-username
Đề xuất của tôi, hãy thử:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Nếu bạn có AMI sai, bạn có thể chỉ muốn khởi động lại máy hoàn toàn để bạn có sự đồng nhất giữa các cụm của mình. Nếu đây là vấn đề của bạn, có lẽ bạn sẽ muốn cùng một Distro hệ điều hành ít nhất cho các hộp linux của mình.
Làm những gì được đề xuất trong tất cả các câu trả lời này là không đủ. Đối với mỗi trường hợp bạn thấy một nhóm bảo mật. Khi bạn khởi chạy một phiên bản mới, bạn sẽ đặt thứ này thành mặc định. Bạn cần chỉnh sửa nhóm bảo mật và thêm cổng ssh. Sau đó, bạn cũng cần thêm các cổng 8080, 8443, 80, 443 khi bạn muốn lưu trữ trang web của mình.
Tôi đã chấp nhận đề nghị AWS sử dụng các nhóm bảo mật mặc định bao gồm các cổng 'Tất cả Trafic'.
Và, sau rất nhiều lần cố gắng kết nối trên phiên bản ec2 mới của mình, tôi chỉ nhận ra rằng tôi nên chỉnh sửa nhóm bảo mật đã sử dụng của mình và thêm theo cách thủ công vào cổng vào và ra cổng 22 (ssh)!
Hy vọng nó giúp !
Quyền thay đổi đầu tiên của tệp pem bằng
chmod 400 path/to/key_pair.pem
Bên trong tệp ~ / .ssh / config, thêm các dòng sau, ở đầu tệp
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
Tên máy chủ lấy IP hoặc liên kết của máy chủ, Người dùng lấy tên người dùng của máy chủ và Tệp danh tính là tệp được tải xuống từ AWS khi bạn tạo phiên bản. Chỉ cần chạy lệnh sau trong thiết bị đầu cuối
ssh AWS
và tận hưởng nó!
Lưu ý : Để điều hướng vào .ssh
thư mục. Đầu tiên nhấn Ctrl + H
trong thư mục chính để hiển thị tất cả các tệp ẩn và cuối cùngcd .ssh
Đảm bảo rằng những điều này được kiểm tra
khóa cá nhân phải có 400 quyền
Đảm bảo rằng cổng 22 được mở cho phiên bản AWS mà bạn đang cố gắng truy cập.
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = ip công khai phiên bản của bạn