2011-07-02 19 views
283

Tôi có một phiên bản EC2 đang chạy (FreeBSD 9 AMI ami-8cce3fe5), và tôi có thể sử dụng tập tin khóa được tạo bằng amazon mà không cần mật khẩu.scp (bản sao an toàn) vào ví dụ ec2 không có mật khẩu

Tuy nhiên, khi tôi muốn sao chép một tập tin vào các trường hợp sử dụng scp Tôi đang yêu cầu nhập mật khẩu:

scp somefile.txt -i mykey.pem [email protected]:/ 

Password: 

Bất cứ ý tưởng tại sao điều này đang xảy ra/làm thế nào nó có thể được ngăn chặn?

+0

Bạn đang sử dụng excatly cùng một số nhận dạng cho người dùng và máy chủ lưu trữ? – Lynch

+0

Tôi không chắc chắn tôi hiểu ý bạn là gì bởi số nhận dạng, bạn có thể giải thích không? – Hoff

+0

nếu đối với một kết nối bạn sử dụng địa chỉ IP và tên kia bạn sử dụng tên thì nó sẽ không hoạt động. Tôi chỉ thấy rằng bạn sử dụng tùy chọn '-i' để cung cấp danh tính của bạn. Có thể bạn cũng nên hiển thị lệnh bạn sử dụng để đăng nhập bằng ssh. – Lynch

Trả lời

609

Tôi đã tìm ra. Tôi đã có các đối số theo thứ tự sai. Đây hoạt động:

scp -i mykey.pem somefile.txt [email protected]:/ 
+7

từ những người hiểu cách kết nối với ec2 qua ssh, chỉ cần thay đổi lệnh 'ssh' thành' scp' và thêm tệp tên sau tệp pem. –

+5

Vì câu trả lời này hơi cũ, ví dụ mới hơn từ ví dụ EC2 mới của tôi: scp -i kp1.pem ./file.txt [email protected]:/home/ec2-user – siliconrockstar

+0

Tôi đang nhận được " Không còn dung lượng trên thiết bị "khi tôi thực hiện lệnh này. scp -i /home/myusername/keypair.pem -r/home/myusername/chữ số/chữ số/công việc/20150724-111748-8bd3 [email protected] :/home/ubuntu – San

3

scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz

này sẽ rất hữu ích cho tất cả các bạn

43
scp -i /path/to/your/.pemkey -r /copy/from/path [email protected]:/copy/to/path 
+0

(-r) không bắt buộc nhưng cần phải xóa (/) từ cuối đường dẫn từ xa. Ví dụ của bạn làm việc cho tôi, Cảm ơn rất nhiều – Abbas

2

tập tin hadoopec2cluster.pem tôi là người duy nhất trong thư mục trên mac địa phương của tôi, không thể scp nó để aws sử dụng scp -i hadoopec2cluster.pem hadoopec2cluster.pem [email protected]:~.

Đã sao chép hadoopec2cluster.pem thành hadoopec2cluster_2.pem và sau đó scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem [email protected]:~. Thì đấy!

2

tôi bị treo lên về vấn đề này bởi vì tôi đã xác định tập tin khóa công khai của tôi trong

scp -i [private key file path] 

Khi tôi bắt gặp sai lầm đó và thay đổi nó vào con đường private key thay vào đó, tôi là tất cả những thiết lập.

5

phép giả định rằng tập tin pem của bạn và somefile.txt bạn muốn gửi là trong thư mục Downloads

scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt [email protected]:~/ 

cho tôi biết nếu nó không hoạt động

+0

scp -i /Users/Username/Downloads/myfile.pem -r [email protected]: ~/~/Desktop/ trong trường hợp bạn muốn chuyển tập tin từ máy chủ đến địa phương –

+2

Cảm ơn tôi đã "truy cập bị từ chối" với ': /' ở cuối nhưng với ': ~ /' nó hoạt động – cardamom

+0

vâng vì:/là thư mục gốc và: ~/là thư mục người dùng vì vậy nếu bạn là người dùng root sau đó:/hoặc: ~/mọi thứ sẽ hoạt động và nếu bạn không phải là người dùng root thì chỉ: ~/bạn phải sử dụng. –

0

ghi mã này

scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim [email protected]:/root/ 

Nếu bạn có khóa SSH có quyền truy cập vào máy chủ đích và máy chủ nguồn không, thêm -o "ForwardAgent = yes" sẽ cho phép bạn chuyển tiếp đại lý SSH của mình đến máy chủ nguồn để có thể sử dụng Khóa SSH của bạn để kết nối với máy chủ đích.

13
scp -i ~/.ssh/key.pem [email protected]:/home/ec2-user/file-to-copy.txt . 

Tên tệp không được nằm giữa tệp pem và chuỗi người dùng ec2 - không hoạt động. Điều này cũng cho phép bạn đặt tên của tệp được sao chép.

-2

Chỉ cần kiểm tra:

Chạy lệnh sau:

sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub 

Sau đó:

  1. tạo ami (hình ảnh của EC2).
  2. khởi chạy từ ami mới (hình ảnh) từ bước số 2 đã chọn khóa mới.